Ngưni thực hiện đ^ tài ckng xin bày tỏ ling bi\t ơn đ\n ban lãnh đạo của Trưnng Đại hoc Thủ Dầu Một và các Khoa Phing ban chức năng đã trực ti\p và gián ti\p gimp đỡ ngưni thực hiện đ^ t
Trang 1TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT
VIỆN KỸ THUẬT CÔNG NGHỆ
***********
BÁO CÁO HỌC PHẦN PHÁT TRIỂN PHẦN MỀM MÃ NGUỒN MỞ
XÂY DỰNG MẠNG XÃ HỘI DÀNH CHO
SINH VIÊN S-SOCIAL
GVHD: Ths Nguyễn Hữu Vĩnh
SVTH:
1 Bùi Văn Xía – 1824801030095
2 Đinh Thị Lan Anh – 1824801030187
Trang 2LỜI CAM ĐOAN
Tôi xin cam đoan báo cáo “Xây dựng mạng xã hội dành cho sinh viên S-Social” là công trình nghiên cứu của bản thân và đưTc sự hưUng dVn của giảng viên Nguyễn Hữu Vĩnh Các nô Zi dung nghiên cứu, k\t quả trong đ^ tài này là trung thực và chưa công b_ dưUi b`t
ka hình thức nào trưUc đây
Những phần sử dụng tài liệu tham khảo trong đồ án đã đưTc nêu rõ trong phần tài liệu tham khảo Ngoài ra, trong luâ Zn văn cin sử dụng mô Z t s_ nhâ Zn xjt, đánh giá ckng như s_ liê Zu của các tác giả khác, cơ quan t_ chức khác đ^u cl trích dVn và chm thích nguồn g_c.N\u phát hiê Zn cl b`t ka sự gian lâ Z n nào chmng tôi xin hoàn toàn chịu trách nhiê Zm v^ nô Zi dung luâ Zn văn của mình Trưnng đại hoc Thủ Dầu Mô Zt không liên quan đ\n những vi phạm tác quy^n, bản quy^n do chmng tôi gây ra trong quá trình thực hiê Zn (n\u cl)
Sinh viên thực hiện 1
Bùi Văn Xía
Bnh Dương, Ngy 25 tháng 07 năm 2021
Sinh viên thực hiện 2
Đinh Thị Lan Anh
Trang 3Ngưni thực hiện đ^ tài ckng xin bày tỏ ling bi\t ơn đ\n ban lãnh đạo của Trưnng Đại hoc Thủ Dầu Một và các Khoa Phing ban chức năng đã trực ti\p và gián ti\p gimp đỡ ngưni thực hiện đ^ tài trong su_t quá trình hoc tập và nghiên cứu đ^ tài này.
VUi đi^u kiện thni gian ckng như kinh nghiệm cin hạn ch\ của một hoc viên, bài báo cáo này không thể tránh đưTc những thi\u slt Ngưni thực hiện đ^ tài r`t mong nhận đưTc sự chỉ bảo, đlng glp ý ki\n của các quý thầy cô để ngưni thực hiện đ^ tài cl đi^u kiện bổ sung, nâng cao ý thức của mình, phục vụ t_t hơn công tác thực t\ sau này
Chúng em xin chân thnh cảm ơn!
Trang 4TÓM TẮT
Xây dựng mạng xã hội dành cho sinh viên S-Social đưTc ti\n hành sau quá trình thực hiện khảo sát và thu thập thông tin từ các trang mạng xã hội như Facebook và
Youtube Website là giải pháp t_t nhằm giải các v`n đ^ mà sinh viên đang cần ở một mạng
xã hội như tìm các ngưni cl thể giải đáp v`n đ^, tìm các tài liệu việc làm, hay tìm bạn để hoc nhlm, lập lUp hoc lại,…
Hệ th_ng đưTc xây dựng dựa trên mô hình MVC PHP đưTc k\t hTp vUi hệ th_ng
cơ sở dữ liệu MySQL vUi công cụ phpMyAdmin, hứa hẹn sẽ mang lại một hệ th_ng mạng
xã hội t_i ưu và hoạt động ổn định, mưTt mà
C`u trmc bài báo cáo đưTc chia thành 4 phần: Chương 1: Tổng quan, Chương 2: Phân tích và thi\t k\ hệ th_ng, Chương 3: Cài đặt, Chương 4: Đánh giá k\t quả và hưUng phát triển
Trang 5SUMMARY
S-Social – The Social Media for Student was build after we survey to collect the informations from another social system like Facebook or YouTube This system is solution for all student who is studing at the university to solve the problems relative with students like: disscutions, survey, find new friends, find new jobs, etc
This system was based on PHP MVC model and MySQL server This will make the system work correctly and smoothly
The structer of this reporter was divided into 4 chapters include: Chapter 1 – Overview, Chapter 2 – System analysis and design, Chapter 3 – Installation, and Chapter
4 – Evaluation of results and direction of development
Trang 6MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
TÓM TẮT iii
SUMMARY iv
MỤC LỤC v
DANH MỤC HÌNH vi
DANH MỤC BẢNG viii
DANH SÁCH CÁC KÝ TỰ, CHỮ VIẾT TẮT ix
LỜI MỞ ĐẦU 1
CHƯƠNG 1: TỔNG QUAN 2
1.1 GIỚI THIỆU ĐỀ TÀI 2
1.1.1 Tên đ^ tài 2
1.1.2 Lý do chon đ^ tài 2
1.1.3 Mục tiêu của đ^ tài 2
1.1.4 Đ_i tưTng và phạm vi nghiên cứu 2
1.1.5 B_ cục báo cáo 3
1.1.6 Chức năng 3
1.2 CÔNG NGHỆ SỬ DỤNG 4
1.2.1 Tổng quan v^ XAMPP 4
1.2.2 GiUi thiệu ngôn ngữ lập trình PHP 5
1.2.3 GiUi thiệu Microsoft Visual Studio Code 6
1.2.4 GiUi thiệu ngôn ngữ SQL 8
1.2.5 GiUi thiệu MySQL 8
CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 12
Trang 72.1 PHÂN TÍCH 12
2.2 THIẾT KẾ HỆ THỐNG 13
2.2.1 Danh sách Actor 13
2.2.2 Danh sách Use Case 14
2.2.3 Sơ đồ Use Case tổng quát 15
2.2.4 Đặc tả Use Case 16
2.2.5 Biểu đồ hoạt động 31
CHƯƠNG 3: CÀI ĐẶT 36
3.1 YÊU CẦU 36
3.1.1 Yêu cầu phần cứng 36
3.1.2 Yêu cầu phần m^m 36
3.2 GIAO DIỆN WEBSITE 36
3.2.1 Trang chủ 36
3.2.2 Trang đăng nhập 37
3.2.3 Trang đăng ký 37
3.2.4 Trang đăng bài 38
3.2.5 Trang đăng bài khảo sát 38
3.2.6 Trang đăng bài hoc lại 39
3.2.7 Trang thảo luận 39
CHƯƠNG 4: ĐÁNH GIÁ KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN 40
4.1 ĐÁNH GIÁ KẾT QUẢ 40
4.1.1 Chức năng đã làm đưTc 40
4.1.2 Hạn ch\ 40
4.2 HƯỚNG PHÁT TRIỂN 40
TÀI LIỆU THAM KHẢO 41
Trang 8DANH MỤC HÌNH
Hình 1: Sơ đồ phân rã chức năng 12
Hình 2: Sơ đồ Use Case tổng quát 15
Hình 3: Biểu đồ hoạt động Đăng nhập Admin 31
Hình 4: Biểu đồ hoạt động các sự kiện quản lý 31
Hình 5: Biểu đồ hoạt động Đăng ký tài khoản 32
Hình 6: Biểu đồ hoạt động Xem bài đăng 32
Hình 7: Biểu đồ hoạt động đăng bài 33
Hình 8: Biểu đồ hoạt động Xem sản phẩm 33
Hình 9 Biểu đồ hoạt động tri chuyện 34
Hình 10: Biểu đồ hoạt động Chỉnh sửa thông tin 34
Hình 11: Biểu đồ hoạt động Thanh toán giỏ hàng 35
Hình 13: Giao diện trang chủ 36
Hình 14: Giao diện trang đăng nhập 37
Hình 15: Giao diện trang đăng ký 37
Hình 16: Giao diện trang đăng bài 38
Hình 17: Giao diện trang liên hệ 38
Hình 18: Giao diện trang đăng bài hoc lại 39
Hình 19: Giao diện trang thảo luận 39
Trang 9DANH MỤC BẢNG
Bảng 1: Danh sách Actor 13
Bảng 2: Danh sách Use Case 15
Bảng 3: Đặc tả đăng nhập quản trị viên 16
Bảng 4: Đặc tả quản lý ngưni dùng 17
Bảng 5: Đặc tả quản lý bài đăng 18
Bảng 6: Đặc tả quản lý tri chuyện 19
Bảng 7: Đặc tả quản lý bài vi\t 19
Bảng 8: Đặc tả quản lý bài khảo sát 20
Bảng 9: Đặc tả quản lý đ_i tác 21
Bảng 10: Đặc tả quản lý đoạn văn 21
Bảng 11: Đặc tả quản lý quảng cáo 22
Bảng 12: Đặc tả đăng nhập ngưni dùng 23
Bảng 13 Đặc tả đăng ký tài khoản ngưni dùng 24
Bảng 14 Đặc tả đăng xu`t 24
Bảng 15 Đặc tả xem bài đăng 25
Bảng 16 Đặc tả đăng bài đăng 26
Bảng 17 Đặc tả xem thông tin bạn bè 26
Bảng 18 Đặc tả đăng bài khảo sát 27
Bảng 19 Đặc tả tìm bạn hoc 28
Bảng 20 Đặc tả xem thông báo 28
Bảng 21 Đặt tả cài đặt thông tin 29
Bảng 22 Đặt tả thảo luận 30
Bảng 23 Đặt tả tri chuyện 31
Trang 10DANH SÁCH CÁC KÝ TỰ, CHỮ VIẾT TẮT
Trang 11LỜI MỞ ĐẦU
Trên th\ giUi hiện đại ngày nay, con ngưni dần phát triển và đưa ra đưTc nhi^u công nghệ ngày càng hiện đại và tinh vi hơn Chính vì th\, nl ckng thmc đẩy các ngàng ngh^ và trí sáng tạo của con ngưni để thực hiện và nghiên cứu ra đưTc các sản phẩm công nghệ cl thể hỗ trT và gimp đỡ đni s_ng cho con ngưni Một trong s_ những sáng ki\n đl, mạng xã hội đưTc sinh ra nhằm phục vụ cho mục đích giao ti\p và chia sẽ giữa con ngưni cà con ngưni Và nl dần đưTc cải ti\n và phổ bi\n hơn bao gin h\t và hiện tại nl đã trở thành một phần thi\t y\u của cuộc s_ng con ngưni
Tuy nhiên, các mạng xã hội đưTc sinh ra chủ y\u để phục vụ cho nhu cầu chung của moi lứa tuổi trên toàn th\ giUi, chính vì th\, các mạng xã hội cl cin thi\u r`t nhi^u chức năng
và công cụ mà một ngưni dùng chuyên biệt cần cl, chẳng hạn là sinh viên Sinh viên cần một n^n tảng cl thể trao đổi giữa sinh viên vUi sinh viên, giữa sinh vUi giảng viên và ngưTc lại Mà các mạng xã hội hiện nay chỉ tập chung vào những thứ chung của moi ngưni nên sinh viên phải tạo lập ra các hội nhlm để trao đổi, tuy nhiên, s_ lưTng ngưni dùng của các mạng xã hội đl khá lUn cl thể khi\n bài đăng hoặc bài yêu cầu giải đáp thắcmắc của ngưni dùng bị trôi đi hoặc bị xla m`t mà vVn chưa nhận đưTc câu trả lni
Chính vì th\ nhlm chmng em quy\t sinh ra một n^n tảng mạng xã hội tập trung vào nhlm ngưni dùng là sinh viên của trưnng Đại hoc Thủ Dầu Một và các trưnng khác cl chung hình thức giảng dạy (liên quan đ\n tín chỉ) mang tên “Xây dựng mạng xã hội dành cho sinh viên S-Social) Mạng xã hội này sẽ mang lại nhi^u chức năng liên quan đ\n sinh viênnhi^u hơn, và cl thể gimp ít cho sinh viên nhi^u hơn
Sản phẩm là k\t quả của sự sáng tạo và nghiên cứu của nhlm chmng em chính vì th\ n\u sản phẩm vVn cin tồn động lỗi hoặc cl những thứ chưa hTp lý, quý giảng viên cl thể thông cảm và lưTng thứ
Trân trong!
Trang 121.1.3 Mục tiêu của đề tài
Xây dựng các chức năng cơ bản của một mạng xã hội dành cho sinh viên
Trang phải cl giao diện hiện đại, dễ sử dụng và thu hmt ngưni dùng
Hỗ trT khách hàng một cách nhanh nh`t khi nhận đưTc yêu cầu liên hệ
Xây dựng dựa trên n^n tảng PHP và MySQL
1.1.4 Đối tượng và phạm vi nghiên cứu
Thu thập thông tin từ Facebook và YouTube
Khảo sát nhu cầu và ý ki\n của sinh viên và giảng viên trưnng Đại hoc
Phương pháp nghiên cứu
1 Phương pháp thu thập thông tin: khảo sát và thu thập các s_ liệu, dữ liệu cần thi\t như các thông tin sinh viên, thông tin nhu cầu sinh viên, thông tin môn hoc, thông tin giảng viên và các thông tin cl liên quan đ\n sinh viên khác
2 Phương pháp th_ng kê: đưa ra các thông tin, dữ liệu cần thi\t để sử dụng trong đ^ tài
3 Phương pháp phân tích và thi\t k\ hệ th_ng: phân tích chức năng hệ th_ng quản lý cần thi\t của sinh viên, hiểu rỏ các quy trình làm việc và hoc tập của sinh viên để thi\t k\ xây dựng đ^ tài
4 Phương pháp mô hình hla chức năng: để tổ chức và tài liệu hla c`u trmc và luồng
dữ liệu xuyên qua các quá trình của một hệ th_ng
Trang 131.1.5 Bố cục báo cáo
Chương 1: Tổng quan
GiUi thiệu tổng quan v^ luận văn: GiUi thiệu tên đ^ tài, lý do chon đ^ tài, đ_i tưTng
và phạm vi nghiên cứu, b_ cục luận văn và chức năng của phần m^m
Chương 2: Phân tích Thi\t k\ hệ th_ng
Phân tích các sơ đồ hệ th_ng của phần m^m, vẽ ra các luồng dữ liệu, đ^ ra các tác nhân và mô tả sau đl ti\n hành thi\t k\ các sơ đồ Use Case, đặc tả chức năng từng thành phần và cu_i cùng là thi\t k\ cơ sở dữ liệu
Chương 3: Cài đặt và Giao diện
Yêu cầu v^ phần m^m, phần cứng và giUi thiệu các giao diện của phần m^m
Chương 4: Đánh giá k\t quả và hưUng phát triển
Đưa ra k\t luận và liệt kê ra những tính năng đã làm đưTc và chưa làm đưTc ckng như hưUng phát triển trong tương lai của phần m^m
Tài liệu tham khảo:
Trích dVn các tài liệu tham khảo trong su_t quá trình thực hiện đồ án
Xem bài đăng
Đăng các bài đăng
Xem thông tin bạn bè
Đăng bải khảo sát
Đăng bài tìm bạn hoc
Xem thông báo
Cài đặt thông tin
Thảo luận
Tri chuyện
Chức năng của quản trị viên
Trang 14 Đăng nhập hệ th_ng
Quản lý ngưni dùng
Quản lý bài đăng
Quản lý tri chuyện
Quản lý bài vi\t
Quản lý bài khảo sát
Quản lý đ_i tác
Quản lý các đoạn văn
Quản lý quảng cáo
Đánh giá một cách tổng thể, Xampp đưTc đánh giá là một trong những phần m^m trong y\u trong việc xây dựng website dành cho các lập trình viên PHP Xampp cài đặt các thành t_ trong y\u, hỗ trT lVn nhau bao gồm:
Apache
PHP (thi\t lập n^n tảng để các tập tin script *.php hoạt động);
MySql (hệ quản trị dữ liệu)
Perl
1.2.1.2 Các thnh phần chính của Xampp
Thuật ngữ Xampp, chmng là chữ vi\t tắt của X, Apache, MySQL, PHP và Perl Chữ X là vi\t tắt cho cross platform, ám chỉ phần m^m này cl thể tương thích vUi nhi^u
hệ đi^u hành như Windows, Mac, Linux, Solaris…
1.2.2 Giới thiệu ngôn ngữ lập trình PHP
PHP là cụm từ vi\t tắt của PHP: HyperText Preprocessor, cl nghĩa là bộ ti^n xử lý siêu văn bản PHP
Trang 15PHP là một ngôn ngữ lập trình đưTc tạo ra bởi Rasmus Lerdorf vào năm 1994, chủ y\u đưTc dùng để phát triển các ứng dụng web chạy trên máy chủ Tên "cmng cơm" của PHP là "Personal Home Page" Cùng vUi sự hậu thuVn của th\ giUi mã nguồn mở, liên minh LAMP (Linux, Apache, MySQL và PHP) đã nhanh chlng đánh bại n^n tảng công nghệ web "thni thưTng" hồi đl của Microsoft, trở thành một n^n tảng hàng đầu trong pháttriển các ứng dụng web Những website thuộc dạng top trên th\ giUi như Google,
Facebook, Yahoo, YouTube, Wikipedia, Flickr, đ^u đưTc vi\t bằng PHP hoặc sử dụng PHP để phát triển các module bên trong chmng
Mặc dù cl tuổi tho tương đ_i cao, nhưng PHP vVn là một trong top 5 các ngôn ngữ lập trình phổ bi\n và nên hoc nh`t trên th\ giUi Trong lĩnh vực lập trình web, PHP chỉ đứng sau JavaScript v^ mức độ phổ bi\n Trong lĩnh vực lập trình back-end, PHP vVn chi\m vị trí dVn đầu
PHP trở thành một trong những ngôn ngữ lập trình phổ bi\n nh`t trên th\ giUi vì những lý do sau:
Dễ dùng, dễ hoc PHP sử dụng chung các cm pháp đi^u khiển gi_ng như các ngôn ngữ thuộc ho C/C++ nên r`t dễ làm quen
Cl một thư viện hỗ trT phong phm Đặc biệt, PHP là bệ phlng cho hàng loạt ứng dụng web mã nguồn mở đưTc sử dụng trên hàng triệu website trên th\ giUi như: Các ứng dụng trang tin điện tử (wordpress, joomla, drupal ), các ứng dụng bán hàng online (magento, prestashop, ), E-learning (Moodle,
OpenLMS), các framework (n^n tảng phát triển ứng dụng) như YII,
CakePHP,
Cl cộng đồng sử dụng rộng lUn Việc này sẽ gimp ngưni hoc dễ dàng nhận đưTc
sự hỗ trT từ cộng đồng các lập trình viên khác trên th\ giUi
Cl thể chạy đưTc trên nhi^u hệ đi^u hành khác nhau như Linux, Windows
Nhi^u cơ hội việc làm
Miễn phí hoàn toàn
PHP cl thể tạo ra các trang web động (sản sinh ra các nội dung
HTML/CSS/JavaScript), và đl chính là lý do mà chmng ta nên tìm hiểu v^ HTML/CSS trưUc khi đ\n vUi PHP
PHP cl thể mở, đoc, ghi, xla file trên máy chủ, tương tác vUi các phần m^m khác trên máy chủ
Trang 16 PHP cl thể k\t hTp vUi các hệ quản trị CSDL, lưu trữ, truy v`n, xử lý dữ liệu vàtrả k\t quả v^ cho ngưni dùng
PHP cl thể gửi/nhận cookie, mã hla, giải mã dữ liệu
PHP cl thể phát triển các dịch vụ web (web services)
1.2.3 Giới thiệu Microsoft Visual Studio Code
1.2.3.1 Microsoft Visual Studio Code l g?
Là một trình biên tập lập trình code miễn phí dành cho Windows, Linux và macOS,Visual Studio Code đưTc phát triển bởi Microsoft Nl đưTc xem là một sự k\t hTp hoàn hảo giữa IDE và Code Editor
Visual Studio Code hỗ trT chức năng debug, đi kèm vUi Git, cl syntax
highlighting, tự hoàn thành mã thông minh, snippets, và cải ti\n mã nguồn Nhn tính năngtùy chỉnh, Visual Studio Code ckng cho phjp ngưni dùng thay đổi theme, phím tắt, và cáctùy chon khác
1.2.3.2 Một số tính năng của phần mềm Microsoft Visual Studio Code
Hỗ trT nhi^u ngôn ngữ lập trình
Visual Studio Code hỗ trT nhi^u ngôn ngữ lập trình như C/C++, C#, F#, Visual Basic, HTML, CSS, JavaScript, … Vì vậy, nl dễ dàng phát hiện và đưa ra thông báo n\u chương chương trình cl lỗi
Hỗ trT đa n^n tảng
Các trình vi\t code thông thưnng chỉ đưTc sử dụng hoặc cho Windows hoặc Linux hoặc Mac Systems Nhưng Visual Studio Code cl thể hoạt động t_t trên cả ba n^n tảng trên
Cung c`p kho tiện ích mở rộng
Trong trưnng hTp lập trình viên mu_n sử dụng một ngôn ngữ lập trình không nằm trong s_ các ngôn ngữ Visual Studio hỗ trT, ho cl thể tải xu_ng tiện ích mở rộng Đi^u này vVn sẽ không làm giảm hiệu năng của phần m^m, bởi vì phần mở rộng này hoạt động như một chương trình độc lập
Kho lưu trữ an toàn
Trang 17Đi kèm vUi sự phát triển của lập trình là nhu cầu v^ lưu trữ an toàn VUi Visual Studio Code, ngưni dùng cl thể hoàn toàn yên tâm vì nl dễ dàng k\t n_i vUi Git hoặc b`t
ka kho lưu trữ hiện cl nào
Hỗ trT web
Visual Studio Code hỗ trT nhi^u ứng dụng web Ngoài ra, nl ckng cl một trình soạn thảo và thi\t k\ website
Lưu trữ dữ liệu dạng phân c`p
Phần lUn tệp lưu trữ đoạn mã đ^u đưTc đặt trong các thư mục tương tự nhau Ngoài
ra, Visual Studio Code cin cung c`p các thư mục cho một s_ tệp đặc biệt quan trong
Hỗ trT vi\t Code
Một s_ đoạn code cl thể thay đổi chmt ít để thuận tiện cho ngưni dùng Visual Studio Code sẽ đ^ xu`t cho lập trình viên các tùy chon thay th\ n\u cl
Hỗ trT thi\t bị đầu cu_i
Visual Studio Code cl tích hTp thi\t bị đầu cu_i, gimp ngưni dùng khỏi phải
chuyển đổi giữa hai màn hình hoặc trở v^ thư mục g_c khi thực hiện các thao tác
Màn hình đa nhiệm
Ngưni dùng Visual Studio Code cl thể mở cùng lmc nhi^u tệp tin và thư mục – mặc
dù chmng không h^ liên quan vUi nhau
Intellisense
Hầu h\t các trình vi\t mã đ^u cl tính năng nhắc mã Intellisense, nhưng ít chương trình nào chuyên nghiệp bằng Visual Studio Code Nl cl thể phát hiện n\u b`t ka đoạn
mã nào không đầy đủ Thậm chí, khi lập trình viên quên không khai báo bi\n, Intellisense
sẽ tự động gimp ho bổ sung các cm pháp cin thi\u
Hỗ trT Git
Visual Studio Code hỗ trT kjo hoặc sao chjp mã trực ti\p từ GitHub Mã này sau
đl cl thể đưTc thay đổi và lưu lại trên phần m^m
Bình luận
Việc để lại nhận xjt gimp ngưni dùng dễ dàng nhU công việc cần hoàn thành
1.2.3.3 Tại sao nên sử dụng Visual Studio Code?
Trang 18Lý do bạn nên sử dụng Visual Studio Code là vì nl cl r`t nhi^u ưu điểm vưTt trội
so vUi b`t ka IDE nào khác:
Hỗ trT đa n^n tảng: Windows, Linux, Mac
Hỗ trT đa ngôn ngữ: C/C++, C#, F#, Visual Basic, HTML, CSS, JavaScript, JSON
Ít dung lưTng
Tính năng mạnh mẽ
Intellisense chuyên nghiệp
Giao diện thân thiện
Và trên h\t, Visual Studio Code là phần m^m miễn phí, đưTc đông đảo lập trìnhviên trên th\ giUi sử dụng
1.2.4 Giới thiệu ngôn ngữ SQL
SQL l g?
SQL vi\t tắt của từ Structured Query Language (ngôn ngữ truy v`n cl c`u trmc) Ngôn ngữ SQL đưTc dùng để tương tác vUi cơ sở dữ liệu, từ truy v`n l`y thông tin, đ\n cập nhật (thêm mUi, cập nhật thông tin mUi, xla )
VUi SQL bạn cl thể:
Chèn, cập nhật, xla các ding dữ liệu
Tạo ra cơ sở dữ liệu mUi
L`y thông tin CSDL
Ngôn ngữ SQL là một tiêu chuẩn ANSI (American National Standards Institute),
cl một s_ sự khác nhau nhỏ cho từng phiên bản của ngôn ngữ này
Hầu h\t các hệ quản trị CSDL quan hệ hiện nay đ^u hỗ trT các lệnh chính của SQL
1.2.5 Giới thiệu MySQL
1.2.5.1 MySQL l g?
MySQL là chương trình dùng để quản lý hệ th_ng cơ sở dữ liệu (CSDL), trong đl CSDL là một hệ th_ng lưu trữ thông tin đưTc sắp x\p rõ ràng, phân lUp ngăn nắp những thông tin mà mình lưu trữ
Vì th\, bạn cl thể truy cập dữ liệu một cách thuận lTi, nhanh chlng MySQL hỗ trT
đa s_ các ngôn như lập trình Chính vì th\ mà mã nguồn mở phổ bi\n nh`t hiện nay là WordPress đã sử dụng MySQL làm cơ sở dữ liệu mặc định
Trang 191.2.5.2 Tại sao lại sử dụng MySQL?
Khả năng mở rộng và tính linh hoạt
Máy chủ cơ sở dữ liệu MySQL đáp ứng nhi^u tính năng linh hoạt, nl cl sức chứa
để xử lý các ứng dụng đưTc nhmng sâu vUi 1MB dung lưTng để chạy kho dữ liệu khổng lồlên đ\n hàng terabytes thông tin Đặc tính đáng chm ý của MySQL là sự linh hoạt v^ flatform vUi t`t cả các phiên bản của Windows, Unix và Linux đang đưTc hỗ trT Và đương nhiên, tính ch`t mã nguồn mở của MySQL cho phjp tùy bi\n theo ý mu_n để thêmcác yêu cầu phù hTp cho database server
Hiệu năng cao
VUi ki\n trmc storage-engine cho phjp các chuyên gia cơ sở dữ liệu c`u hình máy chủ cơ sở dữ liệu MySQL đặc trưng cho các ứng dụng chuyên biệt Dù ứng dụng là
website dung lưTng lUn phục vụ hàng triệu ngưni/ngày hay hệ th_ng xử lý giao dịch t_c
độ cao thì MySQL đ^u đáp ứng đưTc khả năng xử lý khắt khe của moi hệ th_ng VUi những tiện ích tải t_c độ cao, cơ ch\ xử lý nâng cao khác và đặc biệt bộ nhU caches,
MySQL đưa ra t`t cả nhưng tính năng cần cl cho hệ th_ng doanh nghiệp khl tính hiện nay
Tính sẵn sàng cao
MySQL đảm bảo sự tin cậy và cl thể sử dụng ngay MySQL đưa ra nhi^u tùy chon
cl thể “mì ăn li^n” ngay từ c`u hình tái tạo chủ/tU t_c độ cao, để các nhà phân ph_i thứ 3
cl thể đưa ra những đi^u hưUng cl thể dùng ngay duy nh`t cho server cơ sở dữ liệu
MySQL
Hỗ trT giao dịch mạnh mẽ
MySQL đưa ra một trong s_ những engine giao dịch cơ sở dữ liệu t_t nh`t trên thị trưnng Các đặc trưng bao gôm, khla mức ding không hạn ch\, hỗ trT giao dịch ACID hoàn thiện, khả năng giao dịch đưTc phân loại và hỗ trT giao dịch đa dạng (multi-version)
mà ngưni đoc không bao gin cản trở cho ngưni vi\t và ngưTc lại Dữ liệu đưTc đảm bảo trong su_t quá trình server cl hiệu lực, các mức giao dịch độc lập đưTc chuyên môn hla, khi phát hiện cl lỗi khla ch\t ngay tức thì
Điểm mạnh của Web và Data Warehouse
Theo công ty thi\t k\ website Mona Media thì MySQL là nơi cho các website trao đổi thưnng xuyên bởi nl cl engine xử lý t_c độ cao, khả năng chèn dữ liệu cực nhanh và
Trang 20hỗ trT mạnh các chức năng chuyên dụng của web Các tính năng này ckng đưTc sử dụng cho môi trưnng lưu trữ dữ liệu mà MySQL tăng cưnng đ\n hàng terabyte cho các server đơn Những tính năng khác như chỉ s_ băm, bảng nhU chính, bảng lưu trữ và cây B đã đưTc gli lại để giảm các yêu cầu lưu trữ tUi 80% Vì th\, MySQL là sự chon lựa t_t nh`t cho cả ứng dụng web và các ứng dụng của doanh nghiệp.
Bảo vệ dữ liệu mạnh mẽ
Việc quan trong của các doanh nghiệp là bảo mật dữ liệu, MySQL tích hTp các tínhnăng bảo mật an toàn tuyệt đ_i VUi việc xác nhận truy cập cơ sở dữ liệu, MySQL trang bịcác kỹ thuật mạnh, chỉ cl ngưni sử dụng đã đưTc xác nhận mUi truy cập đưTc vào cơ sở
dữ liệu SSH và SSL ckng đưTc hỗ trT để đảm bảo k\t n_i an toàn và bảo mật Tiện ích backup và recovery cung c`p bởi MySQL và các hãng phần m^m thứ 3 cho phjp backup logic và vật lý ckng như recovery toàn bộ hoặc tại một thni điểm
Phát triển ứng dụng toàn diện
MySQL trở thành cơ sở dữ liệu mã nguồn mở phổ bi\n nh`t hiện nay một phần là
do cung c`p hỗ trT hỗn hTp cho b`t cứ sự phát triển ứng dụng nào cần Trong cơ sở dữ liệu, hỗ trT cl thể đưTc tìm th`y trong các trigger, stored procedure, cursor, view, ANSI-standard SQL,… MySQL ckng cung c`p các bộ k\t n_i như: JDBC, ODBC,… để t`t cả các form của ứng dụng sử dụng MySQL như một erver quản lí dữ liệu đưTc đ^ xu`t hàng đầu
Quản lý dễ dàng
Cài đặt MySQL khá nhanh và trung binh từ khi download phần m^m tUi khi cài đặtthành công chỉ m`t chưa đầy 15 phmt Cho dù flatform là Linux, Microsoft Windows, Macintosh hoặc Unix thì quá trình ckng diễn ra nhanh chlng Khi đã cài đặt, tính năng quản lý như tự khởi động lại, tự động mở rộng không gian và c`u hình động sẵn sàng cho ngưni quản trị cơ sở dữ liệu bắt đầu làm việc MySQL cung c`p toàn bộ công cụ quản lý
đồ hoa cho phjp một DBA quản lý, sửa chữa và đi^u khiển hoạt động của nhi^u server MySQL từ một máy trạm đơn
Mã nguồn mở tự do và hỗ trT 24/7
Nhi^u doanh nghiệp cin băn khoăn trong việc giao toàn bộ cho phần m^m mã nguồn mở bởi khl cl thể tìm đưTc hỗ trT hay bảo mật an toàn phục vụ chuyên nghiệp VUi MySQL moi sự cam k\t đ^u rõ ràng, MySQL cam k\t bồi thưnng khi gặp sự c_
Trang 21