TRƯỜNG ĐẠI HỌC QUẢNG NAM
KHOA TOÁN - TIN
----------
BÁO CÁO KHÓA LUẬN TỐT NGHIỆP
Tên đề tài:
XÂY DỰNG WEBSITE BÁN HÀNG DIGITAL CAMERA
Sinh viên thực hiện: Thipphasone KHATTIYAONG
Lớp : DT19CTT01
Công nghệ thông tin
Ngành: 2019 - 2023
Khóa học: ThS. Trần Thị Diệu Hiền
Giáo viên hướng dẫn:
Quảng Nam, tháng 03 năm 2022
PHẦN 1. MỞ ĐẦU
LỜI CẢM ƠN
Để hoàn thành bài báo cáo này, trước hết, em xin cảm ơn các thầy cơ giáo khoa
tốn – tin Trường Đại học Quảng Nam, em đã nhận được rất nhiều sự quan tâm, giúp
đỡ của quý thầy cô cùng bạn bè.
Em xin chân thành cảm ơn cô Trần Thị Diệu Hiền đã trang bị cho em những
kiến thức chuyên môn trong thời gian vừa qua, và giúp em hiểu rỏ hơn cái lĩnh vực đã
nghiên cứu để hoàn thành đề tại được giao.
Với điều kiện thời gian có hạn, kiến thức cịn hạn chế, bài báo cáo này khơng thể
tránh được những sai sót. Em rất mong nhận được ý kiến đóng góp của các q thầy cơ
và nhà trường để em có thêm kinh nghiệm và bổ sung kiến thức bản thân, và tiếp tục
phát triển đồ án của mình.
Em xin chân thành cảm ơn!
Sinh viên thực hiện
Thipphasone KHATTIYAVONG
PHẦN 1. MỞ ĐẦU
Ngày nay, công nghệ thông tin đã có những bước phát triển mạnh mẽ, theo cả
chiều rộng và sâu. Máy tính điện tử khơng cogn là một thứ phương tiện quý hiếm mà
đang càng ngày trở thành một cơng cụ làm việc và giải trí thông dụng của con người,
không chỉ ở nơi công cụ làm việc mà cịn ngay cả trong gia đình.
Đặc biệt, ứng dụng công nghệ thông tin và việc tin học hóa được xem là một
trong những yếu tố mang tính quyết định trong hoạt động của các chính phủ, tổ chức,
cũng như của các cơng ty, nó đóng vai trị hết sức quan trọng, có thể tạo ra những bước
đột phá mạnh mẽ.
Trong hoạt động sản xuất, kinh doanh, giờ đây, thương mại điện tử đã khẳng
định được vai trò xúc tiến và thúc đẩy sự phát triển của doanh nghiệp. Đối với một cửa
hàng hay shop, việc quảng bá và giới thiệu đến khách hàng các sản phẩm mới đáp ứng
được nhu cầu của khách hàng đồng thời cho khách hàng thấy được sự khác biệt giữa
các sản phẩm của nhà sản xuất (thương hiệu) khác nhau sẽ là cần thiết.
Vậy phải quảng bá thế nào đó là xây dựng được một website cho cửa hàng quảng
bá tất cả các sản phẩm của mình bán. Vì vậy, em đã thực hiện khóa luận đề tài “XÂY
DỰNG WEBSITE BÁN HÀNG DIGITAL CAMERA”. Người chủ cửa hàng đưa các
sản phẩm lên website và quản lý website đó. Khách hàng có thể mua hàng trên website
mà khơng cần đến cửa hàng.
Với những tính năng cơ bản, website giúp gắn kết người mua và chủ cửa hàng dễ
dàng và tiết kiệm thời gian cho khách hàng hơn việc phải đến trực tiếp cửa hàng để
mua sản phẩm. Nó cịn giúp người chủ cửa hàng dễ dàng nắm bắt, quản lí sản phẩm
của mình và truyền thơng quảng cáo được rộng hơn.
1. Lý do chọn đề tài
Sự phát triển của ngành Công Nghệ Thơng Tin đã kéo theo một loạt những lợi
ích và thay đổi trong phương thức quản lí, kinh doanh, thúc đẩy các hoạt động kinh tế
xã hội diễn phát triển mạnh mẽ. Ngày nay, hầu hết các công ty trên thế giới dù hoạt
động ở bất kì lĩnh vực nào cũng đều ứng dụng công nghệ thông tin vào hoạt động của
mình với hình thức và qui mơ khác nhau. Rất nhiều các phần mềm, các hệ thống tin
học hóa đã được cho ra đời nhằm hỗ trợ cho hoạt động kinh doanh một cách hiệu quả.
Với xu thế phát triển của xã hội hiện đại, khi mức sống của người dân ngày
càng được nâng cao thì nhu cầu mua sắm của con người cũng được nâng lên một bậc.
Cùng với sự phát triển mạnh mẽ của mạng Internet và các phương thức thanh toán điện
tử, một xu hướng mới ra đời trong kinh doanh hàng hóa, đó chính là Thương mại điện
tử. Việc mua sắm của khách hàng khơng chỉ cịn bó hẹp trong các cửa hàng, siêu thị
mà có thể chỉ đơn giản là kết nối vào một website bán hàng trực tuyến. Xu thế này
đem lại sự tiện ích khơng nhỏ cho khách hàng và tiện kiệm lớn cho doanh nghiệp.
Với nhận định như vậy, được sự hướng dẫn và giúp đỡ của cô giáo Trần Thị
Diệu Hiền em đã lựa chọn đề tài “ Xây dựng website bán hàng DIGITAL
CAMERA” để thực hiện làm khóa luận này.
2. Mục tiêu của đề tài
- Xây dựng một website cung cấp cho khách hàng tất cả những thông tin chi tiết
về các sản phẩm trên trang web, thông tin liên hệ cũng như những sản phẩm mới nhất
được cập nhật thường xuyên.
- Khách hàng có thể đặt hàng ngay những sản phẩm mà khách hàng yêu thích
- Tạo ra sản phẩm thân thiện, đơn giản với giao diện tự nhiên, bắt mắt, dễ sử
dụng cho tất cả mọi người.
- Xây dựng một website giúp người quản trị quản lý thông tin hệ thống một cách
dễ dàng hơn, tiện lợi hơn.
- Củng cố và bổ sung kiến thức các mơn đã học. Qua đó, rèn luyện kỹ năng làm
việc độc lập.
3. Đối tượng và phạm vi nghiên cứu
+ Về lý thuyết
Tìm hiểu quá trình xem sản phẩm, đặt và mua hàng của khách hàng. Lưu ý
những hạn chế khi thực hiện đặt hàng trực tuyến. Thống kê các loại sản phẩm tồn kho,
áp dụng những phương pháp tốt nhất để dễ dàng quản lý cũng như cải tiến.
+ Về ứng dụng:
Xây dựng các chức năng cơ bản cần thiết cho một website bán hàng và dựa theo
những chức năng của các website quản lý bản hàng khác hiện nay cịn đang thiếu hoặc
đã có nhưng chưa được tối ưu.
4. Phương pháp nghiên cứu
- Tìm hiểu các website phổ biến đã có trên internet.
- Khảo sát và thu thập thông tin về thị trưởng máy ảnh kỹ thuật số .
- Tham khảo các mơ hình kinh doanh trực tuyến.
- Phân tích thiết kế hệ thống thông tin, xây dựng nội dung quản trị Back-end và
giao diện Front-end website.
- Xây dựng một website thì việc lựa chọn ngơn ngữ và ứng dụng khi làm việc là
điều rất quan trọng.
- Đề tài sử dụng ngôn ngữ PHP làm ngơn ngữ lập trình để xây dựng website và
một số thư viện hỗ trợ trong việc xây dựng website.
5. Lịch sử nghiên cứu
Với vấn đề về PHP thì cũng đã được nhiều tác giả phân tích, nghiên cứu theo
nhiều hướng khác nhau.
6. Đóng góp của đề tài
- Tạo ra sản phẩm có hàm lượng khoa phục vụ cho việc kinh doanh trực tuyến.
- Giúp ích trong việc truyền đạt thông tin tới người mua hàng, quảng bá hình ảnh
của cửa hàng và giúp ích cho q trình mua sản phẩm của cửa hàng thông qua internet.
- Bổ sung tích luỹ kiến thức về thiết kế website và kỹ năng lập trình.
7. Cấu trúc đề tài
PHẦN 1. MỞ ĐẦU
PHẦN 2. NỘI DUNG NGHIÊN CỨU
Chương 1: Cơ sở lý thuyết
Chương 2: Phân tích và thiết kế website
Chương 3: Thiết kế và cài đặt hệ thống
PHẦN 3. KẾT LUẬN
PHẦN 4. TÀI LIỆU THAM KHẢO
PHẦN 5. PHỤ LỤC
PHẦN 2. NỘI DUNG NGHIÊN CỨU
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
1.1. Tìm hiểu về các ngơn ngữ lập trình
1.1.1. Ngơn ngữ HTML
Ngôn ngữ HTML (HyperText Markup Language – ngôn ngữ siêu văn bản) là
một trong các loại ngơn ngữ được sử dụng trong lập trình web. Khi truy cập một trang
web cụ thể là click vào các đường link, bạn sẽ được dẫn tới nhiều trang các nhau và
các trang này được gọi là một tài liệu HTML (tập tin HTML).
Một trang HTML như vậy được cấu thành bởi nhiều phần tử HTML nhỏ và được
quy định bằng các thẻ tag. Bạn có thể phân biệt một trang web được viết bằng ngôn
ngữ HTML hay PHP thông qua đường link của nó. Ở cuối các trang HTML thường
hay có đi là HTML hoặc HTM.
Hình 1.1: Mơ hình của HTML
Một trang HTML được cấu thành bởi nhiều phần tử HTML nhỏ và được quy
định bằng các thẻ tag.
HTML là ngơn ngữ lập trình web được đánh giá là đơn giản. Mọi trang web, mọi
trình duyệt web đều có thể hiển thị tốt ngơn ngữ HTML. Hiện nay, phiên bản mới nhất
của HTML là HTML 5 với nhiều tính năng tốt và chất lượng hơn so với các phiên bản
HTML cũ.
Vậy, đối với các website, ngơn ngữ HTML đóng vai trị như thế nào? HTML,
theo đúng nghĩa của nó, là một loại ngôn ngữ đánh dấu siêu văn bản, thế nên các chức
năng của nó cũng xoay quanh yếu tố này. Cụ thể, HTML giúp cấu thành các cấu trúc
cơ bản trên một website (chia khung sườn, bố cục các thành phần trang web) và góp
phần hỗ trợ khai báo các tập tin kĩ thuật số như video, nhạc, hình ảnh.
Hình 1.2: Mơ hình hoạt động JavaScript, CSS, HTML
Ưu điểm nổi trội nhất và cũng là thế mạnh của HTML là khả năng xây dựng cấu
trúc và khiến trang web đi vào quy cũ một hệ thống hoàn chỉnh. Nếu bạn mong muốn
sở hữu một website có cấu trúc tốt có mục đích sử dụng nhiều loại yếu tố trong văn
bản, hãy hỏi HTML. Nhiều ý kiến cho rằng tùy theo mục đích sử dụng mà lập trình
viên hay người dùng có thể lựa chọn ngơn ngữ lập trình riêng cho website của bạn, tuy
nhiên thực chất HTML chứa những yếu tố cần thiết mà dù website của bạn có thuộc
thể loại nào, giao tiếp với ngơn ngữ lập trình nào để xử lý dữ liệu thì nó vẫn phải cần
đến ngơn ngữ HTML để hiển thị nội dung cho người truy cập.
Nói đúng hơn, dù website của bạn được xây dựng như thế nào, trên nền tảng nào
thì nó cũng cần đến sự hỗ trợ của HTML, dù ít dù nhiều. Đối với các lập trình viên
hay nhà phát triển web, họ đều phải học HTML như một loại ngôn ngữ cơ bản trước
khi bắt tay vào thiết kế trang web nào.
Cấu trúc cơ bản của một file HTML
Cấu trúc cơ bản của HTML
Cấu trúc cơ bản của trang HTML/XHTML có dạng như sau, thường gồm 3 phần:
<!Doctype>: Phần khai báo chuẩn của html hay xhtml.
<head></head>: Phần khai báo ban đầu, khai báo về meta, title, CSS, javascript...
<body></body>: Phần chứa nội dung của trang web, nơi hiển thị nội dung.
Cấu trúc cơ bản
" /><html>
<head>
<title>Tiêu đề trang web</title> </head>
<body>
...Phần thân viết ở đây...
</body>
</html>
Cấu trúc cơ bản của trang web
Mỗi trang web đều có cách thể hiện cấu trúc khác nhau, có trang 1 cột, có trang 2
và cũng có trang chứa nhiều cột, bên dưới đây chúng ta tham khảo một trang đơn giản
sử dụng 2 cột để layout.
Phần đầu: header, có thể chứa logo, câu slogan, các liên kết, các banner liên
kết, các button, đoạn flash, hoặc các form ngắn như form tìm kiếm...
Phần liên kết toàn cục: global navigation, dùng để chứa các liên kết đến
những trang quan trọng trong toàn bộ trang, trong phần này có thể chứa thêm các liên
kết con (Sub Navigation).
Phần thân của trang: page body, phần này chứa phần nội dung chính
(Content) và phần nội dung phụ (Sidebar).
Phần nội dung chính: content, phần này chứa nội dung chính cần thể hiện cho
người dùng xem.
Phần nội dung phụ: sidebar, phần này có thể chứa liên kết phụ của từng trang
(Local Navigation), hoặc các banner chứa liên kết liên quan, hoặc có thể dùng để chứa
các liên kết quảng cáo...
Phần cuối trang web: footer, phần này thường chưa phân liên hệ như: tên công
ty, địa chỉ, số điện thoại, mail liên hệ,... và đặc biệt là copyright, hoặc có thể chứa các
liên kết tồn trang, các banner liên kết...
Hình 1.3: Mơ hình cấu trúc cơ bản của trang HTML
1.1.2. Ngôn ngữ CSS
1.1.2.1. Giới thiệu
Định nghĩa
CSS là viết tắt của Cascading Style Sheets. Đây là một ngôn ngữ style sheet được
sử dụng để mô tả giao diện và định dạng của một tài liệu viết bằng ngơn ngữ đánh dấu
(Markup). Nó cung cấp một tính năng bổ sung cho HTML. Nó thường được sử dụng
với HTML để thay đổi phong cách của trang web và giao diện người dùng. Nó cũng có
thể được sử dụng với bất kỳ loại tài liệu XML nào bao gồm cả XML đơn giản, SVG và
XUL.
CSS được sử dụng cùng với HTML và JavaScript trong hầu hết các trang web để
tạo giao diện người dùng cho các ứng dụng web và giao diện người dùng cho nhiều
ứng dụng di động.
CSS làm được những gì?
Có thể thêm giao diện mới vào các tài liệu HTML cũ.
Hồn tồn có thể thay đổi giao diện trang web chỉ với một vài thay đổi trong mã CSS.
Tại sao sử dụng CSS
Đây là ba lợi ích chính của CSS:
1) Giải quyết một vấn đề lớn
Trước khi có CSS, các thẻ như phông chữ, màu sắc, kiểu nền, các sắp xếp phần tử,
đường viền và kích thước phải được lặp lại trên mọi trang web. Đây là một quá trình
rất dài tốn thời gian và cơng sức. Ví dụ: Nếu bạn đang phát triển một trang web lớn nơi
phông chữ và thông tin màu được thêm vào mỗi trang, nó sẽ trở thành một q trình
dài và tốn kém. CSS đã được tạo ra để giải quyết vấn đề này. Đó là một khuyến cáo
của W3C.
2) Tiết kiệm rất nhiều thời gian
Định nghĩa kiểu CSS được lưu trong các tệp CSS bên ngồi vì vậy có thể thay đổi tồn
bộ trang web bằng cách thay đổi chỉ một tệp.
3) Cung cấp thêm các thuộc tính
CSS cung cấp các thuộc tính chi tiết hơn HTML để định nghĩa giao diện của trang
web.
Các điểm chính của CSS được đưa ra dưới đây:
CSS là viết tắt của Cascading Style Sheet.
CSS được sử dụng để thiết kế các thẻ HTML.
CSS là một ngôn ngữ được sử dụng rộng rãi trên web.
HTML, CSS và JavaScript được sử dụng để thiết kế web. Nó giúp các nhà thiết kế
web áp dụng phong cách trên các thẻ HTML.
Ví dụ về CSS
<!DOCTYPE>
<html>
<head>
<style>
h1 {
color:white;
background-color:#00eeee;
padding:5px;
}
p{
color:blue;
}
</style>
</head>
<body>
Write Your First CSS Example
This is Paragraph
</body>
</html>
1.1.2.2. Cú pháp của CSS
Bộ quy tắc CSS chứa selector và khối khai báo.
Hình 1.4: Mơ hình cú pháp của CSS
Selector: Bộ chọn cho biết phần tử HTML bạn muốn tạo kiểu cách. Nó có thể là bất kỳ
thẻ nào như
, <title>,...
Declaration Block: Khối khai báo có thể chứa một hoặc nhiều khai báo được
phân cách bởi dấu chấm phẩy (;). Đối với ví dụ trên, có hai khai báo:
1. color: yellow;
2. font-size: 11 px;
Mỗi khai báo chứa một tên thuộc tính và giá trị, được phân cách bởi dấu hai chấm.
Property: Một property là một kiểu của thuộc tính của phần tử HTML. Nó có
thể là color, border,...
Value: Các giá trị được gán cho thuộc tính CSS. Trong ví dụ trên, giá trị
“yellow” được gán cho thuộc tính color.
Selector{Propertyl: valuel; Property2: value2; .........;}
1.1.3. Ngơn ngữ lập trình PHP
PHP (viết tắt hồi quy “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 qt. 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
độ 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.
Như đã giới thiệu, PHP là ngôn ngữ máy chủ, mã lệnh PHP sẽ tập trung trên máy
chủ để phục vụ các trang Web theo yêu cầu của người dùng thơng qua trình duyệt. Khi
người dùng truy cập website viết bằng PHP, máy chủ đọc mã lệnh PHP và xử lý chúng
theo các hướng dẫn đã được mã hóa.
Khác với Website HTML tĩnh ở chỗ: khi có một yêu cầu, máy chủ chỉ đơn thuần
gửi dữ liệu HTML đến trình duyệt Web và khơng xảy ra một sự biến dịch nào từ phía
máy chủ. Đối với người dùng cuối và trên trình duyệt web, các trang home. html và
home. php trong tương tự như nhau, nhưng thực chất nội dung của trang được tạo theo
các cách khác nhau.
- Ưu điểm khi dùng PHP
+ Dùng mã nguồn mở (có thể chạy trên Apache hoặc IIS).
+ Phổ biến hơn ASP (có thể thấy dựa vào số website dùng PHP).
+ Dễ học khi đã biết HTML, C.
+ Dựa vào XAMP (dễ cấu hình)
+ Nhiều hệ thống CMS miễn phí dùng.
+ Đi cặp với MYSQL.
+ Hoạt động trên Linux, có thể trên IIS – Windows.
- Nhược điểm :
+ Mã nguồn không đẹp.
+ Chỉ chạy trên ứng dụng web.
1.2. Một số thư viện hỗ trợ
1.2.1. Thư viện BOOSTRAP
Bootstrap là một Framework có chứa HTML, CSS, JAVASCRIPT, Framewor
trong tiếng việt có nghĩa là “khuân khổ” giúp tiết kiệm được thời gian, công sức hơn
nữa việc xây dựng 2 teamplate cho giao diện Desktop và Mobile đã lỗi thời thay vào
đó là Responsive. Responsive sẽ giúp website hiển thị tương thích với mọi kích thước
màn hình, sẽ tùy chỉnh hiện thị được nhiều hơn trên các loại màn hình khác nhau
Ưu điểm khi sử dụng Bootstrap .
Tiết kiệm thời gian: Boostrap giúp người thiết kế giao diện website tiết kiệm rất
nhiều thời gian. Các thư viện Bootstrap có những đoạn mã sẵn sàng cho bạn áp dụng
vào website. Không tốn nhiều thời gian để tự viết code cho giao diện.
Tùy biến cao: Có thể dựa vào Bootstrap và phát triển nền tảng giao diện của
chính mình. Bootstrap cung cấp cho bạn hệ thống Grid System mặc định bao gồm 12
cột và độ rộng 940px. Bạn có thể thay đổi, nâng cấp và phát triển dựa trên nền tảng
này.
Responsive Web Design: Với Bootstrap, việc phát triển giao diện website để
phù hợp với đa thiết bị trở nên dễ dàng hơn bao giờ hết. Đây là xu hướng phát triển
giao diện website đang rất được ưu chuộng trên thế giới.
1.2.2. Thư viện JAVA SCRIPT
JavaScript là 1 ngôn ngữ dạng script thường được sử dụng cho việc lập trình web
ở phía client, nó tn theo chuẩn ECMAScript. Là 1 ngôn ngữ linh động, cú pháp dễ
sử dụng như các ngôn ngữ khác và dễ dàng lập trình. JavaScript khơng hề liên quan tới
ngơn ngữ lập trình java, được hầu hết các trình duyệt ngày nay hỗ trợ. Với javascript,
ứng dụng web của bạn sẽ trở nên vơ cùng sinh động, mang tính trực quan và tương tác
cao. JavaScript theo phiên bản hiện hành là một ngôn ngữ lập trình kịch bản dựa trên
đối tượng được phát triển từ các ý niệm nguyên mẫu. Ngôn ngữ này được dùng rộng
rãi cho các trang web, nhưng cũng được dùng để tạo khả năng viết script sử dụng các
đối tượng nằm sẵn trong các ứng dụng. Giống Java, JavaScript có cú pháp tương tự C,
nhưng nó gần với Self hơn Java. “.js” là phần mở rộng thường được dùng cho tập tin
mã nguồn JavaScript.
1.2.3. Thư viện AJAX
AJAX (Asynchronous JavaScript and XML) là một kỹ thuật cho phép các trang
web tương tác với máy chủ mà khơng cần phải tải lại tồn bộ trang. Thay vì tải lại
trang hoàn toàn, các yêu cầu đến máy chủ được gửi dưới dạng tín hiệu dữ liệu (như
XML, JSON hoặc HTML) và được xử lý bởi JavaScript để cập nhật phần nội dung của
trang mà không cần phải tải lại.
Thư viện AJAX phổ biến nhất hiện nay là jQuery AJAX, cung cấp các phương
thức để thực hiện các yêu cầu AJAX và xử lý các kết quả trả về một cách đơn giản.
Các thư viện khác như Axios, Fetch API và XMLHttpRequest cũng là các công cụ
được sử dụng để thực hiện AJAX trong JavaScript.
1.3. Tổng quan về MySQL
1.3.1. Giới thiệu về MySQL
MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở miễn phí nằm trong nhóm
LAMP. (Apache-MySQL-PHP) Microsoft (Windows, IIS, SQL Server,
ASP/ASP.NET), vì MySQL được tích hợp sử dụng chung với apache, PHP nên nó phổ
biến nhất thế giới. Vì MySQL ổn định và dễ sử dụng rất mạnh và Mysql cũng có cùng
một cách truy xuất và mã lệnh tương tự với ngơn ngữ SQL chính vì thế nên MySQL
được sử dụng và hỗ trợ của những lập trình viên yêu thích mã nguồn mở. Nhưng
Mysql khơng bao qt tồn bộ những câu truy vấn cao cấp như SQL Server. Vì vậy
Mysql chỉ đáp ứng việc truy xuất đơn giản trong q trình vận hành của website, thích
hợp cho các ứng dụng có truy cập CSDL trên internet và có thể giải quyết hầu hết các
bài toán trong PHP, Perl. MySQL miễn phí hồn tồ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 bản Win32 cho các
hệ điều hành dòng Windows, Linux, MacOSX, 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).
1.3.2. Đặc điểm
MySQL là một phần mềm quản trị CSDL dạng server-based (gần tương đương
với SQL Server của Microsoft). MySQL quản lý dữ liệu thơng qua các CSDL, mỗi
CSDL có thể có nhiều bảng quan hệ chứa dữ liệu. MySQL có cơ chế phân quyền
người sử dụng riêng, mỗi người dùng có thể được quản lý một hoặc nhiều CSDL khác
nhau, mỗi người dùng có một tên truy cập (User Name) và mật khẩu tương ứng để truy
xuất đến CSDL.
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 server hoạt động trong các hệ thống nhúng hoặc client/server.
1.3.3. Tạo cơ sở dữ liệu và người dùng
Kết nối và tạo CSDL
Để kết nối cơ sở dữ liệu ta có thể thực hiện theo hai cách:
- Kết nối và tạo CSDL bằng Command line
- Kết nối và tạo CSDL bằng giao diện đồ họa: MySQL Administrator hoặc
phpmyadmin
Quản lý người dùng
- Để đăng nhập vào MySQL ta có thể sử dụng user là root và pass là rỗng.
- Ngồi tài khoản này ta có thể tạo thêm các tài khoản cho người dùng với các
users và pass khác nhau.
Cấp quyền cho người dùng
- Với quyền root ta có thể thực hiện mọi thao tác trên CSDL: select, update,
insert, delete, ...
- Tuy nhiên, khi tạo quyền người dùng ta cũng có thể hạn chế bớt một số quyền
nhất định nào đó.
1.3.4. Các kiểu dữ liệu trong MySQL
Kết nối và tạo CSDL
Để kết nối cơ sở dữ liệu ta có thể thực hiện theo hai cách:
- Kết nối và tạo CSDL bằng Command line
- Kết nối và tạo CSDL bằng giao diện đồ họa: MySQL Administrator hoặc
phpmyadmin
Quản lý người dùng
- Để đăng nhập vào MySQL ta có thể sử dụng user là root và pass là rơng.
- Ngồi tài khoản này ta có thể tạo thêm các tài khoản cho người dùng với các
users và pass khác nhau.
Cấp quyền cho người dùng
- Với quyền root ta có thể thực hiện mọi thao tác trên CSDL: select, update,
insert, delete, ...
- Tuy nhiên, khi tạo quyền người dùng ta cũng có thể hạn chế bớt một số quyền
nhất định nào đó.
1.3.5. Các câu lệnh SQL
a. Creat Table:
Dùng để tạo bảng trong CSDL
Cú pháp:
CREATE TABLE ten_bang(cot1 kieu_du_lieu,cot2 kieu_du_lieu,cot3
kieu_du_lieu,..cotN kieu_du_lieu,PRIMARY KEY( mot hoac nhieu cot ));
b. Alter Table:
Sửa đổi cấu trúc 1 bảng chú ý có thể gây xung đột giữa thơng tin đang có trong
bảng và thuộc tính mới sửa lại.
Cú pháp:
ALTER TABLE ten_bang {ADD|DROP|MODIFY} ten_cot {kieu_du_lieu};
c. Select:
Dùng để chọn dữ liệu từ cơ sở dữ liệu.
Cú pháp:
o Cơ bản:
`SELECT cot1, cot2....cotN
FROM ten_bang;`
o Loại bỏ giá trị trùng lặp:
`SELECT DISTINCT cot1, cot2....cotN
FROM ten_bang;`
o Kết hợp mệnh đề điều kiện WHERE:
`SELECT cot1, cot2....cotN
FROM ten_bang
WHERE DIEU_KIEN;`
o Kết hợp mệnh đề IN:
`SELECT cot1, cot2....cotN
FROM ten_bang
WHERE ten_cot IN (gtri-1, gtri-2,...gtri-N);`
o Kết hợp mệnh đề BETWEEN:
`SELECT cot1, cot2....cotN
FROM ten_bang WHERE ten_cot BETWEEN gtri-1 AND gtri-2;`
o Kết hợp mệnh đề LIKE:
`SELECT cot1, cot2....cotN
FROM ten_bang
WHERE ten_cot LIKE { PATTERN };`
o Kết hợp mệnh đề ORDER BY:
SELECT cot1, cot2....cotN
FROM ten_bang
WHERE DIEU_KIEN
ORDER BY ten_cot {ASC|DESC};`
o Kết hợp mệnh đề GROUP BY:
`SELECT SUM(ten_cot)
FROM ten_bang
WHERE DIEU_KIEN
GROUP BY ten_cot;`
o Kết hợp mệnh đề COUNT:
`SELECT COUNT(ten_cot)
FROM ten_bang
WHERE DIEU_KIEN;`
o Kết hợp mệnh đề Having:
`SELECT SUM(ten_cot)
FROM ten_bang
WHERE DIEU_KIEN
GROUP BY ten_cot
HAVING (dieu kien la ham so hoc);`
d. Insert:
Chèn thêm 1 bản ghi vào trong bảng
Cú pháp:
`INSERT INTO ten_bang( cot1, cot2....cotN)
VALUES ( giatri1, giatri2....giatriN);`
e. Update:
Sửa thông tin 1 bản ghi đã có trong bảng
Cú pháp:
`UPDATE ten_bang
SET cot1 = giatri1, cot2 = giatri2....cotN=giatriN
[ WHERE DIEU_KIEN ];`
f. Delete:
Xóa 1 bản ghi đã có trong bảng:
Cú pháp:
DELETE FROM ten_bang WHERE {DIEU_KIEN};
g. Drop Table:
Xóa 1 bảng trong CSDL
Cú pháp:
` DROP TABLE ten_bang`
1.3.6. Các hàm trong MySQL
Dưới đây liệt kê tất cả các hàm MySQL quan trọng. Mỗi hàm đều được giải thích chi
tiết và có ví dụ phù hợp.
Hàm COUNT trong MySQL : Hàm tập hợp COUNT trong MySQL được sử
dụng để đếm số hàng trong một bảng dữ liệu.
Hàm MAX trong MySQL : Hàm tập hợp MAX trong MySQL cho phép chúng
ta lựa chọn giá trị lớn nhất (tối đa) trong một cột cụ thể.
Hàm MIN trong MySQL : Hàm tập hợp MIN trong MySQL cho phép chúng ta
lựa chọn giá trị nhỏ nhất (tối thiểu) trong một cột cụ thể.
Hàm AVG trong MySQL : Hàm tập hợp AVG trong MySQL cho phép chúng ta
lựa chọn giá trị trung bình trong một cột cụ thể.
Hàm SUM trong MySQL : Hàm tập hợp AVG trong MySQL cho phép chúng ta
lựa chọn giá trị trung bình trong một cột cụ thể.
Hàm SQRT trong MySQL : Được sử dụng để tính căn bậc hai của một số đã
cho.
Hàm RAND trong MySQL : Được sử dụng để tạo một số ngẫu nhiên bởi sử
dụng lệnh trong MySQL.
Hàm CONCAT trong MySQL : Được sử dụng để nối bất kỳ chuỗi nào trong bất
kỳ lệnh MySQL nào.
Hàm xử lý DATE và Time trong MySQL : Danh sách đầy đủ các hàm liên quan
tới Date và Time trong MySQL.
Hàm xử lý số trong MySQL : Danh sách đầy đủ các hàm cần thiết để thao tác
với số trong MySQL.
Hàm xử lý chuỗi trong MySQL : Danh sách đầy đủ các hàm cần thiết để thao
tác với chuỗi trong MySQL.
1.3.7. Tại sao sử dụng MySQL Server
- Khả năng mở rộng và tính linh hoạt.s
Hình 1.1: Mơ hình khả năng MySQL
MySQL cho phép người dùng mở rộng và có thể tùy chỉnh để thay đổi linh hoạt
cấu trúc bên trong.
Máy chủ cơ sở dữ liệu MySQL đáp ứng nhiều tính năng linh hoạt, nó có sức chứa
để xử lý các ứng dụng được nhúng sâu với 1MB dung lượng để chạy kho dữ liệu
khổng lồ lên đến hàng terabytes thơng tin. Đặc tính đáng chú ý của MySQL là sự linh
hoạt về flatform với tất cả các phiên bản của Windows, Unix đang được hỗ trợ. Và
đương nhiên, tính chất mã nguồn mở của MySQL cho phép tùy biến theo ý muốn để
thêm các yêu cầu phù hợp cho database server.
- Hiệu năng cao
Với kiến trúc storage-engine cho phép 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ượng lớn phục vụ hàng triệu người/ngày hay hệ thống xử lý giao dịch
tốc độ cao thì MySQL đều đáp ứng được khả năng xử lý khắt khe của mọi hệ thống.
Với những tiện ích tải tốc độ cao, cơ chế xử lý nâng cao khác và đặc biệt bộ nhớ
caches, MySQL đưa ra tất cả nhưng tính năng cần có cho hệ thống doanh nghiệp khó
tính hiện nay.
- Tính sẵn sàng cao
MySQL đảm bảo sự tin cậy và có thể sử dụng ngay. MySQL đưa ra nhiều tùy
chọn có thể sử dụng ngay từ cấu hình tái tạo chủ/tớ tốc độ cao, để các nhà phân phối
thứ 3 có thể đưa ra những điều hướng có thể dùng ngay duy nhất cho server cơ sở dữ
liệu MySQL.
- Hỗ trợ 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ường. Các đặc trưng bao gồm, khóa mức dịng khơng hạn chế, hỗ trợ giao dịch
ACID hoàn thiện, khả năng giao dịch được phân loại và hỗ trợ giao dịch đa dạng
(multi-version) mà người đọc không bao giờ cản trở cho người viết và ngược lại. Dữ
liệu được đảm bảo trong suốt quá trình server có hiệu lực, các mức giao dịch độc lập
được chun mơn hóa, khi phát hiện có lỗi khóa chết ngay tức thì.
- Điểm mạnh của Web và Data Warehouse
MySQL với điểm mạnh là cho phép xử lý ở tốc độ cao, hỗ trợ các tính năng
chuyên dụng cho website.