1. Khái niệm về phần mềm nguồn mở
2. Lợi ích của phần mềm nguồn mở
3. Nhược điểm của các hệ thống mã nguồn mở
4. Các loại giấy phép
5. Phân loại các nhóm phần mềm mã nguồn mở
6. Phần mềm miễn phí dạng dịch vụ (SaaS)
7. Yêu cầu đề tài
256 trang |
Chia sẻ: candy98 | Lượt xem: 780 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Bài giảng Các hệ thống mã nguồn mở - Thầy Ngô, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
1TỔNG QUAN VỀ CÁC HỆ
THỐNG MÃ NGUỒN MỞ
Chương 1:
Môn Các Hệ Thống Mã Nguồn Mở
22/03/2016
2Nội Dung
1. Khái niệm về phần mềm nguồn mở
2. Lợi ích của phần mềm nguồn mở
3. Nhược điểm của các hệ thống mã nguồn mở
4. Các loại giấy phép
5. Phân loại các nhóm phần mềm mã nguồn mở
6. Phần mềm miễn phí dạng dịch vụ (SaaS)
7. Yêu cầu đề tài
Môn Các Hệ Thống Mã Nguồn Mở
3Khái niệm về phần mềm nguồn mở
• Phần mềm nguồn mở (PMNM) là phần mềm được cung
cấp với cả mã và nguồn.
• Không chỉ là miễn phí về giá mua mà chủ yếu là miễn phí
về bản quyền: người dùng có quyền sửa đổi, cải tiến,
phát triển, nâng cấp theo một số nguyên tắc chung quy
định trong giấy phép phần mềm nguồn mở (General
Public Licence - GPL).
Môn Các Hệ Thống Mã Nguồn Mở
4Khái niệm về phần mềm nguồn mở (tt)
• PMNM không phải lúc nào cũng miễn phí.
• Nhà cung cấp PMNM có thể không thu phí sử dụng phần
mềm nhưng có thể thu phí các dịch vụ khác như: bảo
hành, huấn luyện, nâng cấp, tư vấn, vv tức là những
dịch vụ để phục vụ người dùng, nhưng không được bán
các sản phẩm nguồn mở vì nó là tài sản của trí tuệ chung,
không phải là tài sản riêng của một nhà cung cấp nào.
• Hoặc các công cụ hỗ trợ thêm cho phần mềm có thể bị
thu phí.
Môn Các Hệ Thống Mã Nguồn Mở
5Khái niệm về phần mềm nguồn mở (tt)
• Các nhà cung cấp PMNM có quyền không hỗ trợ bạn
trong quá trình sử dụng phần mềm hoặc phải mất một
mức phí để được hỗ trợ.
• Phần này không có trong giấy phép sử dụng PMNM.
Môn Các Hệ Thống Mã Nguồn Mở
6Khái niệm về phần mềm nguồn mở (tt)
• Người dùng có đầy đủ quyền truy cập vào mã nguồn.
• Tự do sử dụng chương trình cho mọi mục đích, quyền tự
do để nghiên cứu cấu trúc của chương trình, chỉnh sữa
phù hợp với nhu cầu, truy cập vào mã nguồn, quyền tự
do phân phối lại các phiên bản cho nhiều người, quyền tự
do cải tiến chương trình và phát hành những bản cải tiến
vì mục đích công cộng.
Môn Các Hệ Thống Mã Nguồn Mở
7Lịch sử phát triển
• 1983: Xu hướng phần mềm miền phí “Free Software” bắt đầu
• 1995: Free Software Foundation đưa ra định nghĩa về phần
mềm miễn phí.
• 1998: Tổ chức “Open Source Initiative” do Eric S. Raymond và
Bruce Perens thành lập đã đổi thuật ngữ “phần mềm miễn phí”
thành “phần mềm nguồn mở”
• Miễn phí
• Có source code
• Có thể thay đổi, tinh chỉnh source code
Môn Các Hệ Thống Mã Nguồn Mở
8Lợi ích của phần mềm nguồn mở
• Tính an toàn
• Tính ổn định/đáng tin cậy
• Các chuẩn mở và việc không phải lệ thuộc nhà cung cấp
• Giảm phụ thuộc vào nhập khẩu
• Phát triển năng lực của ngành công nghiệp phần mềm địa
phương
• Vấn đề vi phạm bản quyền, quyền sở hữu trí tuệ, và tính tuân
thủ WTO
• Nội địa hoá
Môn Các Hệ Thống Mã Nguồn Mở
9Nhược điểm của PMNM
• Nhiều lĩnh vực chưa có sản phẩm phần mềm hoàn thiện
• Không hoàn toàn tương thích với PMNĐ
• Thiếu tính tiện dụng vốn là đặc trưng của phần mềm thương
mại
• Không có sự hỗ trợ một cách chính thức
Môn Các Hệ Thống Mã Nguồn Mở
10
Các loại giấy phép
• Phần mềm thương mại (Commercial Software)
• Là phần mềm thuộc bản quyền của tác giả hoặc nhà sản xuất, chỉ
được cung cấp ở dạng mã nhị phân, người dùng phải mua và
không có quyền phân phối lại.
• Phần mềm thử nghiệm giới hạn (Limited Trial Software)
• Là những phiên bản giới hạn của các phần mềm thương mại được
cung cấp miễn phí nhằm mục đích thử nghiệm, giới thiệu sản
phẩm và kích thích người dùng quyết định mua. Loại sản phấm
này không chỉ giới hạn về tính năng mà còn giới hạn về thời gian
dùng thử (thường là 60 ngày).
Môn Các Hệ Thống Mã Nguồn Mở
11
Các loại giấy phép
Giấp phép đại chúng GNU (General Public License)
• Người phổ biến một chương trình đã được cấp phép đại chúng phải
đồng thời phổ biến luôn cả mã nguồn cho người nhận
• Nếu người phổ biến chương trình đã thực hiện một sửa đổi gì đó cho
phần mềm thì những sửa đổi đó cũng phải được cấp phép theo chế
độ giấy phép đại chúng
• Người phổ biến chương trình không áp dụng với người nhận bất cứ
hạn chế nào không thuộc phạm vi giấy phép đại chúng
• Người nhận một phần mềm đã cấp phép đại chúng sẽ được trao y
nguyên mọi quyền như người phổ biến gốc, tức là quyền sao chép,
chỉnh sửa và phổ biến phần mềm
Môn Các Hệ Thống Mã Nguồn Mở
12
Các loại giấy phép
Giấp phép BSD (Berkeley System Distribution)
• Ghi nhận công lao của tác giả đầu tiên làm ra phần mềm
bằng cách đưa vào file mã nguồn các thông tin bản quyền
gốc
• Người phát hành ban đầu sẽ không chịu trách nhiệm
trước pháp luật về bất cứ thiệt hại nào phát sinh do sử
dụng những phần mềm nguồn mở đã được chỉnh sửa
Môn Các Hệ Thống Mã Nguồn Mở
13
Các loại giấy phép
Môn Các Hệ Thống Mã Nguồn Mở
Giấp phép
đại chúng
Giấp phép
BSD
Phải phổ biến mã nguồn gốc Có Không
Phải phổ biến mã nguồn người
dùng tạo mới
Có Không
Mã nguồn tạo mới phải được cấp
phép đại chúng
Có Không
14
Các loại giấy phép khác
Môn Các Hệ Thống Mã Nguồn Mở
• Academic Free License
• Adaptive Public License
• Apache Software License
• Apache License, 2.0
• Apple Public Source License
• Artistic license
• Attribution Assurance Licenses
• New BSD license
• Computer Associates Trusted
• Open Source License 1.1
• Common Development and
• Distribution License
• Common Public License 1.0
• CUA Office Public License
Version 1.0
• EU DataGrid Software License
• Eclipse Public License
• Educational Community License
• Eiffel Forum License
• Eiffel Forum License V2.0
• Entessa Public License
• Fair License
• Frameworx License
• GNU General Public License
• (GPL)
• GNU Library or "Lesser"
• General Public License (LGPL)
• Historical Permission Notice and
Disclaimer
15
Các loại giấy phép khác
Môn Các Hệ Thống Mã Nguồn Mở
• IBM Public License
• Intel Open Source License
• Jabber Open Source License
• Lucent Public License (Plan9)
• Lucent Public License Version
1.02
• MIT license
• MITRE Collaborative Virtual
Workspace License (CVW
License)
• Motosoto License
• Mozilla Public License 1.0 (MPL)
• Mozilla Public License 1.1 (MPL)
• NASA Open Source Agreement
1.3
• Naumen Public License
• Nethack General Public License
• Nokia Open Source License
• OCLC Research Public License
2.0
• Open Group Test Suite License
• Open Software License
16
Các loại giấy phép khác
Môn Các Hệ Thống Mã Nguồn Mở
• PHP License
• Python license (CNRI Python
License)
• Python Software Foundation
License
• Qt Public License (QPL)
• RealNetworks Public Source
License V1.0
• Reciprocal Public License
• Ricoh Source Code Public
License
• Sleepycat License
• Sun Industry Standards Source
License (SISSL)
• Sun Public License
• Sybase Open Watcom Public
License 1.0
• University of Illinois/NCSA Open
Source License
• Vovida Software License v. 1.0
W3C License
• wxWindows Library License
• X.Net License
• Zope Public License
• zlib/libpng license
17
Phân loại phần mềm nguồn mở
• Các phần mềm NM có thể được phân loại theo chức
năng
• Hệ điều hành
• Cơ sở dữ liệu
• Ứng dụng trên Desktop
• Ứng dụng Server
• Ứng dụng Web
Môn Các Hệ Thống Mã Nguồn Mở
18
Phân loại phần mềm nguồn mở
• Nhóm hệ điều hành
• Linux
• Unix
• Android
•
Môn Các Hệ Thống Mã Nguồn Mở
19
Phân loại phần mềm nguồn mở (tt)
• Nhóm Cơ sở dữ liệu
• MySQL
• Cassandra
• PostgreSQL
•
Môn Các Hệ Thống Mã Nguồn Mở
20
Phân loại phần mềm nguồn mở (tt)
• Nhóm ứng dụng Desktop
• Open Office
• Xara Xtreme
• GZIP
• Eclipse
•
Môn Các Hệ Thống Mã Nguồn Mở
21
Phân loại phần mềm nguồn mở (tt)
• Nhóm Server
• Webserver
• Apache
• NGINX
• Lighttpd
• Mail Server
• SENDMAIL
• QMAIL
• POSTFIX
• EXIM
Môn Các Hệ Thống Mã Nguồn Mở
• File Server
• XtreemFS
• HFS
• Openfiler
22
Phân loại phần mềm nguồn mở (tt)
• Nhóm ứng dụng Web trên nền PHP: loại ứng dụng rộng rãi hiện nay
Môn Các Hệ Thống Mã Nguồn Mở
23
Phân loại phần mềm nguồn mở (tt)
• Loại hệ thống chuyên về CMS/Portal
Môn Các Hệ Thống Mã Nguồn Mở
24
Phân loại phần mềm nguồn mở (tt)
• Loại hệ thống chuyên về Forum
Môn Các Hệ Thống Mã Nguồn Mở
25
Phân loại phần mềm nguồn mở (tt)
• Loại hệ thống chuyên về Blog
Môn Các Hệ Thống Mã Nguồn Mở
26
Phân loại phần mềm nguồn mở (tt)
• Loại hệ thống chuyên về thương mại điện tử (eCommerce)
Môn Các Hệ Thống Mã Nguồn Mở
27
Phân loại phần mềm nguồn mở (tt)
• Loại hệ thống chuyên về ERP
Môn Các Hệ Thống Mã Nguồn Mở
28
Phân loại phần mềm nguồn mở (tt)
• Loại hệ thống chuyên về Giáo dục (Education)
Môn Các Hệ Thống Mã Nguồn Mở
29
Phân loại phần mềm nguồn mở (tt)
• Loại hệ thống chuyên về Social Networking
Môn Các Hệ Thống Mã Nguồn Mở
30
Phân loại phần mềm nguồn mở (tt)
• Các loại hệ thống Open Source Web trên nền .NET
Môn Các Hệ Thống Mã Nguồn Mở
31
Phần mềm miễn phí dạng dịch vụ (SaaS)
Môn Các Hệ Thống Mã Nguồn Mở
32
Phần mềm miễn phí dạng dịch vụ (SaaS)
Môn Các Hệ Thống Mã Nguồn Mở
• Bên cạnh phần mềm tự do và mã nguồn mở, xu hướng
hiện tại cung cấp phần mềm dưới dạng dịch vụ.
• Chuyển từ “mua” sang “thuê” phần mềm.
• Hay cung cấp miễn phí với tính năng tối thiểu,trả phí với
tính năng mở rộng - Freemium
• Dùng bao nhiêu trả tiền bấy nhiêu.
33
Phần mềm miễn phí dạng dịch vụ (SaaS)
Môn Các Hệ Thống Mã Nguồn Mở
• SaaS – Software as a Service
• Dữ liệu được lưu trữ trên “mây” (Internet)
• Truy cập phần mềm qua web browser
34
Phần mềm miễn phí dạng dịch vụ (SaaS)
Môn Các Hệ Thống Mã Nguồn Mở
Lợi ích
• Truy cập được từ bất cứ đâu, bất cứ thời điểm nào
• Chi phí thường rẻ hơn mua phần mềm dạng sảnphẩm
(không phải trả tiền cho những tính năngkhông dùng)
• Không cần sắm, cài đặt, bảo trì, hệ thống hay máy chủ.
Đơn giản chỉ cần có thiết bị truy cập được và Internet.
• Không phụ thuộc nền tảng (platform)
35
Phần mềm miễn phí dạng dịch vụ (SaaS)
Môn Các Hệ Thống Mã Nguồn Mở
Nhược điểm
• Kết nối Internet và tốc độ đường truyền
• Khó tùy biến để đáp ứng nhu cầu đặc thù của doanh
nghiệp
• Rủi ro về bảo mật thông tin
• Lệ thuộc vào nhà cung cấp dịch vụ
36
Hỏi Đáp ?
Môn Các Hệ Thống Mã Nguồn Mở
37
TỔNG QUAN VỀ WAMP
SERVER
Chương 2:
Môn Các Hệ Thống Mã Nguồn Mở
22/03/2016
38
Nội Dung
1. Giới thiệu về Wamp Server
2. Các thành phần trong Wamp Server
3. Cài đặt Wamp Server
4. Sử dụng Wamp Server
Môn Các Hệ Thống Mã Nguồn Mở
39
Giới Thiệu Về Wamp Server
• WampServer là một môi trường phát triển web cho
Windows với các thành phần:
• Apache
• PHP
• MySQL
• Website:
• Phiên bản mới nhất là WampServer 2.2E
Môn Các Hệ Thống Mã Nguồn Mở
40
Giới Thiệu Về Wamp Server
Môn Các Hệ Thống Mã Nguồn Mở
• Tự động cài đặt toàn hệ thống, dễ sử
dụng
• Dễ dàng nâng cấp phiên bản mới của
các module con (Apache, PHP, MySQL)
• Tự nhận diện sự tương thích các phiên
bản của các module với nhau
41
Giới Thiệu Về Wamp Server
Môn Các Hệ Thống Mã Nguồn Mở
• Tự động cài đặt toàn hệ thống, dễ sử
dụng
• Dễ dàng nâng cấp phiên bản mới của
các module con (Apache, PHP, MySQL)
• Tự nhận diện sự tương thích các phiên
bản của các module với nhau
42
Các Thành Phần Trong WampServer 2.2E
• Webserver: Apache 2.4.2
• CSDL: MySQL 5.5.24
• PHP Engine: 5.4.3
• Website quản lý Database Server: phpMyAdmin
• Quản lý Webserver bằng Website
Môn Các Hệ Thống Mã Nguồn Mở
43
Cài đặt Wamp Server
• Download WAMP SERVER từ địa chỉ
(lưu ý: chọn đúng bản 32bit
hoặc 64bit
• Double click vào file cài đặt
Môn Các Hệ Thống Mã Nguồn Mở
44
Cài đặt Wamp Server
• Chọn thư mục chứa Wamp
Môn Các Hệ Thống Mã Nguồn Mở
45
Cài đặt Wamp Server
• Chọn trình duyệt mặc định cho Wamp
Môn Các Hệ Thống Mã Nguồn Mở
46
Cài đặt Wamp Server
• Chọn tài khoản mail để thực thi chức năng gửi mail trong
website
Môn Các Hệ Thống Mã Nguồn Mở
47
Cài đặt Wamp Server
• Chọn tài khoản mail để thực thi chức năng gửi mail trong
website
Môn Các Hệ Thống Mã Nguồn Mở
48
Sử dụng Wamp Server – Khởi động
• Double click vào biểu
Wamp trên Desktop
• Sau khi khởi động, Wamp
Server sẽ tự động chạy 2
dịch vụ là
• Wampapache
• Wampmysqld
Môn Các Hệ Thống Mã Nguồn Mở
49
Sử dụng Wamp Server – Khởi động
• Một biểu tượng xuất hiện ở khay hệ thống cho phép tắt,
khởi động lại Wamp cũng như các dịch vụ
Môn Các Hệ Thống Mã Nguồn Mở
50
Sử dụng Wamp Server – Khởi động
• Chạy thử trang thông tin của Server
• Click localhost
Môn Các Hệ Thống Mã Nguồn Mở
51
Sử dụng Wamp Server – Cấu Hình Port
• Sau khi đặt, Apache sử dụng port 80 (port chuẩn của
Windows)
• IIS cũng sử dụng port 80
• Khắc phục
• Thay port của IIS: 80 81 (hoặc port khác)
• Thay port của Apache: 80 81
Môn Các Hệ Thống Mã Nguồn Mở
52
Sử dụng Wamp Server – Cấu Hình Port
• Thay đổi Port cho Apache: 80 81
• Mở tập tin http.conf trong thư mục
C:/wamp/bin/apache/Apache.x.y.z/conf/ bằng một trình soạn thảo,
notepad chẳng hạn.
• Tìm Listen 80 và sửa lại thành Listen 81
Môn Các Hệ Thống Mã Nguồn Mở
53
Sử dụng Wamp Server – Cấu Hình Port
• Thay đổi Port cho Apache:
• Thay đổi tiếp các alias ở khay hệ
thống chạy bằng port 81
• Mở tập tin wampmanager.ini trong thư
mục /wamp/.
• Thay đổi tất cả các dòng
thành
Môn Các Hệ Thống Mã Nguồn Mở
54
Sử dụng Wamp Server – PhpMyAdmin
• Wamp cung cấp một hệ thống website PhpMyAdmin để
quản lý CSDL trong MySQL
Môn Các Hệ Thống Mã Nguồn Mở
55
Sử dụng Wamp Server – PhpMyAdmin
• Tạo CSDL mới
Môn Các Hệ Thống Mã Nguồn Mở
56
Sử dụng Wamp Server – PhpMyAdmin
• Các chức năng
Môn Các Hệ Thống Mã Nguồn Mở
57
Sử dụng Wamp Server – PHP Website
• Chạy thử một website PHP
• Tạo một trang web php (vd: test.php) và gõ lệnh sau:
echo ‘Chào bạn đến với Website’
• Lưu trang web vào thư mục C:\Wamp\www
• Chạy trang web: mở trình duyệt và gõ đường dẫn
Môn Các Hệ Thống Mã Nguồn Mở
58
Lưu ý
• Ngoài WampServer, sinh viên có thể sử dụng các loại
Web Server khác (tùy thích)
• AppServer
• Zend Server
• XampServer
Môn Các Hệ Thống Mã Nguồn Mở
59
Hỏi Đáp ?
Môn Các Hệ Thống Mã Nguồn Mở
60
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU
MYSQL
Chương 3:
Môn Các Hệ Thống Mã Nguồn Mở
22/03/2016
61
Nội Dung
1. Tổng quan về MySQL
2. Khởi động và tắt dịch vụ MySQL
3. Truy cập MySQL
1. MySQL Console
2. PhpMyAdmin
4. Thay đổi password cho root (tài khoản mặc định)
5. Các thao tác trên CSDL
6. Định nghĩa bảng
7. Truy vấn dữ liệu
8. Import và Export dữ liệu
9. Công cụ đồ họa MySQL GUI TOOLS
Môn Các Hệ Thống Mã Nguồn Mở
62
Tổng Quan Về MySQL
• MySQL là một hệ quản trị cơ sở dữ liệu đa luồng mã
nguồn mở tương tự như SQL Server, Oracle
• Chuyên dụng cho mọi mức độ doanh nghiệp.
• MySQL được phát triển bởi một công ty tư vấn và phát
triển ứng dụng của Thuỵ Điển có tên là TcX sau đổi tên
thành MySQL AB.
• Hiện nay, MySQL đã được Oracle mua lại.
• MySQL được phát triển phổ biến cho hệ điều hành Linux,
tuy nhiên, với các phiên bản mới hiện nay, nó đã có thể
sử dụng tốt trên của hệ điều hành Windows.
• MySQL có nhiều phiên bản phát hành: các cá nhân có thể
được dùng miễn phí tuy nhiên các doanh nghiệp thì cần
phải trả phí mới được sử dụng.
Môn Các Hệ Thống Mã Nguồn Mở
63
Đặc điểm MySQL
• Tốc độ truy xuất nhanh, ổn định, dễ sử dụng
• Có tính khả chuyển, hoạt động trên nhiều nền tảng HĐH
• Cung cấp hệ thống thư viện hàm lớn
• Khả năng bảo mật tốt
• Hoạt động như một hệ client/server hoặc trong hệ thống
nhúng.
• Thích hợp cho các hệ thống trên Internet (Yahoo!, Alcatel,
Google, Nokia, YouTube)
• Được hỗ trợ bởi nhiều ngôn ngữ lập lập trình
Môn Các Hệ Thống Mã Nguồn Mở
64
Lịch sử phát triển MySQL
• 1994: được phát triển bởi Michael Widenius và David
Axmark thuộc công ty TcX.
• 23-5-1995: phát hành phiên bản đầu tiên
• 8-1-1998: phiên bản trên Windows 95 và NT được phát
hành.
• 01-2001: phiên bản 3 được phát hành
• 03-2003: phiên bản 4 được phát hành
• 26-2-2008: Sun MicroSystem mua lại MySQL AB.
• 27-11-2008: Ver 5.0, 5.1 phát hành
• Ver 5.1 chứa khá nhiều lỗi và hoạt động không hiệu quả.
• 27-1-2010: Oracle mua lại Sun MicroSystem và phát hành
Ver 5.4, 5.5 hoạt động tốt hơn.
Môn Các Hệ Thống Mã Nguồn Mở
65
Khởi động và tắt dịch vụ
• Khi được cài đặt cùng WAMP Server, mỗi lần khởi động
WAMP thì dịch vụ MySQL cũng tự động được kích hoạt.
Môn Các Hệ Thống Mã Nguồn Mở
66
Khởi động và tắt dịch vụ
• Khi được cài đặt cùng WAMP Server, mỗi lần khởi động
WAMP thì dịch vụ MySQL cũng tự động được kích hoạt.
• Để tắt và mở dịch vụ, ta có thể sử dụng biểu tượng
WAMP Server ở khay hệ thống, chọn mục MySQL
Môn Các Hệ Thống Mã Nguồn Mở
67
Đăng nhập vào MySQL Server
• Sau khi cài đặt, tài khoản mặc định của
MySQL Server
• User: root
• Password:
• Đăng nhập bằng PhpMyAdmin
• Vào biểu tương WAMP Server, click chọn
PhpMyAdmin
• Wamp sẽ tự động đăng nhập vào MySQL bằng tài
khoản trên
• Nếu thay đổi password chương trình sẽ không
đăng nhập được, cần chỉnh lại pass trong file
c:\wamp\apps\phpmyadmin3.5.1\config.inc.php
Mục: $cfg['Servers'][$i]['password'] = ‘';
Môn Các Hệ Thống Mã Nguồn Mở
68
Đăng nhập vào MySQL Server
Môn Các Hệ Thống Mã Nguồn Mở
69
Đăng nhập vào MySQL Server
• Đăng nhập bằng MySQL Console
• Tại icon WAMP Server, chọn mục MySQL, chọn MySQL Console
Môn Các Hệ Thống Mã Nguồn Mở
70
Các thao tác trên CSDL
• Thay đổi mật khẩu
• set password for acount_name@server_name =
password("new_password");
• Xem tình trạng Server
• status;
• Xem các cơ sở dữ liệu
• show databases;
• Tạo CSDL mới
• create database database_name;
• Sử dụng CSDL
• use database_name;
• Xóa CSDL
• drop database database_name;
Môn Các Hệ Thống Mã Nguồn Mở
71
Table
• Các kiểu dữ liệu trong MySQL
• Kiểu số
Môn Các Hệ Thống Mã Nguồn Mở
72
Table (tt)
• Các kiểu dữ liệu trong MySQL
• Kiểu chuỗi
Môn Các Hệ Thống Mã Nguồn Mở
73
Table (tt)
• Các kiểu dữ liệu trong MySQL
• Kiểu ngày giờ (lưu ý các dữ liệu ngày khi Insert vào MySQL)
Môn Các Hệ Thống Mã Nguồn Mở
74
Table (tt)
• Các kiểu dữ liệu trong MySQL
• Hỗn hợp (Miscellaneous)
Môn Các Hệ Thống Mã Nguồn Mở
Enum: kiểu dữ liệu liệt kê, cho phép định nghĩa trước các giá trị cho một cột,
cột sẽ chỉ lưu trữ một trong các giá trị định sẵn đó.
Vd:
CREATE TABLE Test(
Return ENUM('Y','N') DEFAULT 'N',
Size ENUM('S','M','L','XL','XXL'),
Color ENUM('Black','Red','White')
)
Set: kiểu dữ liệu liệt kê, tương tự enum nhưng cho phép cột lưu trữ nhiều
giá trị trong các giá trị định sẵn, mỗi giá trị cách nhau bởi dấu ', '
Vd:
CREATE Table Test(
Advertiser SET('Web Page','Television','Newspaper')
)
75
Table (tt)
• Các từ khóa khai báo cột
Môn Các Hệ Thống Mã Nguồn Mở
76
Table (tt)
• Tạo bảng
Môn Các Hệ Thống Mã Nguồn Mở
Create table table_name ( column_names datatypes modifiers)
Vd: Tạo bảng Customers (khách hàng)
CREATE TABLE Customers (
Customer_ID INT NOT NULLPRIMARY KEY AUTO_INCREMENT,
First_Name VARCHAR(20)NOT NULL,
Last_Name VARCHAR(30) NOT NULL,
Address VARCHAR(50), City VARCHAR(20),
State VARCHAR(2), Zip VARCHAR(20),
E_Mail VARCHAR(20), Age INT, Race VARCHAR(20),
Gender ENUM('M', 'F') DEFAULT 'F',
Favorite_Activity ENUM('Programming', 'Eating', 'Biking',
'Running', 'None') DEFAULT 'None',
Occupation VARCHAR(30), Smoker CHAR(0)
);
77
Table (tt)
• Thay đổi cấu trúc bảng
Môn Các Hệ Thống Mã Nguồn Mở
• Thay đổi tên cột
Alter table table_name CHANGE old_column_name
new_column_name old_datatype;
Vd: ALTER TABLE Customers
CHANGE First_Name FirstName VARCHAR(20);
• Thay đổi kiểu dữ liệu
Alter table table_name CHANGE column_name column_name
new_datatype;
Vd: ALTER TABLE Customers
CHANGE Last_Name Last_Name VARCHAR(50);
• Đổi tên bảng
Alter table table_name RENAME new_table_name;
Vd: ALTER TABLE Customers RENAME Customer_Table;
• Thêm cột vào bảng
Alter table table_name ADD column_name datatype;
Vd: ALTER TABLE Customer ADD Last_Name VARCHAR(30);
78
Table (tt)
• Thay đổi cấu trúc bảng
Môn Các Hệ Thống Mã Nguồn Mở
• Xoá một cột
Alter table table_name DROP column_name;
Vd: ALTER TABLE Customers DROP Last_Name;
• Thêm khoá chính
Alter table table_name ADD Primary Key (column_names);
Vd: ALTER TABLE Customers ADD PRIMARY KEY (Customer_ID);
• Xoá khoá chính
Alter ta