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

Tìm hiểu kỹ thuật phát triển phần mềm nguồn mở nhóm hệ quản trị csdl MySQL

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.71 MB, 33 trang )

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI

BÀI TẬP LỚN
PHẦN MỀM MÃ NGUỒN MỞ
Tên đề tài:Tìm hiểu kỹ thuật phát triểnphần mềm
nguồn mở nhóm hệ quản trị csdl MySQL
Giáo viên hướng dẫn
Lớp
Nhóm
Sinh viên thực hiện

:Th.s Vũ Thị Dương
:ĐH – KTPM6 – K10
:5
:

Hà Nội 2018- 2019


Mục lục
Chương 1. Bản địa hóa và quốc tế hóa PMMNM. Quy trình đánh giá và lựa chọn một
sản phẩm phần mềm mã nguồn mở............................................................................................4
1.1.

Tìm hiểu về bản địa hóa và quốc tế hóa......................................................................4

1.1.1.

Khái niệm quốc tế hóa phần mềm mã nguồn mở (internationalization)........4

1.1.2.



Khái niệm bản địa hóa phần mềm mã nguồn mở (localization)......................4

1.1.3.

So sánh bản địa hóa và quốc tế hóa phần mềm mã nguồn mở.........................4

1.1.4.

Đặc điểm của bản địa hóa......................................................................................4

1.1.5.

Đặc điểm quốc tế hóa phần mềm..........................................................................4

1.1.6.

Vì sao cần bản địa hóa, quốc tế hóa PMMNM ?................................................5

1.1.7.
Nam.

Một số lưu ý khi bản địa hóa phần mềm phần mềm mã nguồn mở tại Việt
5

1.1.8.

Một số lưu ý khi quốc tế hóa phần mềm..............................................................5

1.2.


Hướng dẫn thực hiện quốc tế hóa phần mềm.............................................................6

1.2.1.

Quy trình thực hiện quốc tế hóa phần mềm.......................................................6

1.2.2.

Hưỡng dẫn thực hiện quốc tế hóa phần mềm mã nguồn mở............................6

1.2.2.1.

Công cụ phát triển và kĩ thuật...........................................................................6

1.2.2.2.

Cô lập các nguồn lực có thể định vị được........................................................6

1.2.2.3.

Kỹ thuật................................................................................................................7

1.2.3.
1.3.

Giấy phép thực hiện................................................................................................7

Quy trình lựa chọn và đánh giá một sản phẩm phần mềm nguồn mở...................8


1.3.1.

Đánh giá một sản phẩm phần mềm nguồn mở..................................................8

1.3.2.

Quy trình lựa chọn một sản phẩm phần mềm nguồn mở.................................8

Chương 2. Tìm hiểu kỹ thuật phát triển phần mềm nguồn mở nhóm hệ quản trị csdl
MySQL............................................................................................................................................9
2.1.

Kỹ thuật phát triển phần mềm nguồn mở nhóm hệ quản trị csdl MySQL...........9

2.1.1.

Hệ thống phần mềm nguồn mở.............................................................................9

2.1.2.

Kỹ thuật phát triển hệ thống phần mềm nguồn mở..........................................9

2.1.3.

Hệ thống phần mềm nguồn mở nhóm hệ quản trị cơ sở dữ liệu....................10

2.1.4.

Hệ quản trị cơ sở dữ liệu MySQL.......................................................................10


2.1.5.

Công cụ thiết kế cơ sở dữ liệu MySQL Workbench.........................................11

2.1.6.

So sánh MYSQL với các hệ quản trị cơ sở dữ liệu khác.................................13

2.2.

Bài toán minh họa.........................................................................................................15
2


2.2.1. Tên bài toán: Bài toán xây dựng hệ thống Quản lý bán hàng với các bảng và
ràng buộc..............................................................................................................................15
2.2.2.

Sơ đồ liên kết các bảng.........................................................................................16

2.2.3.

Nội dung.................................................................................................................16

2.2.4.

UseCase...................................................................................................................16

2.3


Thực hiện bài toán........................................................................................................21

2.3.1
Phạm Hồng Yến- Hướng dẫn cài đặt phần mềm MySQL(công cụ thiết kế cơ
sở dữ liệu MySQL Workbench và thực hiện thiết kế cơ sở dữ liệu..............................21
2.3.2

Cao Văn Đương- Thực hiện thiết kế cơ sở dữ liệu...........................................29

2.3.3
Trần Trung Anh – Thực hiện tính mở của công cụ MySQL Workbench và
kết nối cơ sở dữ liệu với PHP.............................................................................................31
2.4

Kết luận..........................................................................................................................33

2.4.1

Nội dung đã thực hiện..........................................................................................33

2.4.2

Hướng phát triển...................................................................................................34

Tài liệu tham khảo...............................................................................................................35

3


Chương 1. Bản địa hóa và quốc tế hóa PMMNM. Quy trình đánh

giá và lựa chọn một sản phẩm phần mềm mã nguồn mở
1.1.

Tìm hiểu về bản địa hóa và quốc tế hóa

1.1.1. Khái niệm quốc tế hóa phần mềm mã nguồn mở (internationalization)
Quốc tế hóa phần mềm mã nguồn mở là quá trình thiết kếvà phát triển một ứng dụng
phần mềm.Để phần mềm đó được điều chỉnh cho nhiều ngôn ngữ và khu vực mà
không có sự thay đổi về kỹ thuật.
1.1.2. Khái niệm bản địa hóa phần mềm mã nguồn mở (localization)
Bản địa hóa phần mềm mã nguồn mở là quá trình đáp ứng một phần mềm đã quốc tế
hóa cho một vùng hoặc ngôn ngữ cụ thể bằng cách bổ sung các thành phần của ngôn
ngữ đang hướng đến, cũng như dịch các đoạn văn bản trong phần mềm qua ngôn ngữ
đó.
Bản địa hóa khác với hoạt động dịch vì nó có liên quan tới nghiên cứu toàn diện về
văn hóa của mỗi quốc gia để tùy biến sản phẩm thích nghi với các nhu cầu của nơi đó.
Bản địa hoá phần mềm không chỉ là dịch giao diện người dùng.Đó là quá trình sửa
đổi và làm cho sản phẩm phù hợp với các tiêu chuẩn văn hoá và phong tục, tập quán
của người dùng cuối.
1.1.3. So sánh bản địa hóa và quốc tế hóa phần mềm mã nguồn mở
Bản địa hóa phần mềm
Quốc tế hóa phần mềm
• Quá trình sửa đổi sản phẩm để • Thiết kế và phát triển phần mềm
đáp ứng nhu cầu về ngôn ngữ, văn để nó có thể dễ dàng điều chỉnh sản
hóa, pháp lý,… ở một địa phương phẩm với nhiều khu vực.Nghĩa là
cụ thể.
"chuẩn bị" sản phẩm của bạn cho
bản địa hóa.
• Phần mềm của bạn phải được • Một sản phẩm quốc tế có thể dễ
quốc tế hóa thì mới có thế bản địa dàng được nội địa hóa, không có bất

hóa.
kỳ lỗi nào và với chi phí tối thiểu.
1.1.4. Đặc điểm của bản địa hóa
Các đặc điểm của bản địa hóa:
 Cân nhắc, xem xét đến các yếu tố nền tảng khu vực như văn hóa , xã hội,…
 Có cả các yếu tố nhân khẩu học.
 Nội dung phải đảm bảo mục đích kết nối.
 Thường sử dụng cho mục đích tiếp thị.
 Cần nhận biết được những yếu tố nhạy cảm trong văn hóa bản địa.
1.1.5. Đặc điểm quốc tế hóa phần mềm
4


Các đặc điểm của quốc tế hóa phần mềm:
 Việc sử dụng, thích nghi dễ dàng hơn.
 Dùng được trên tất cả các nước với mọi đối tượng mà không quá khó khăn.
 Đảm bảo tính đúng đắn, chuẩn mực trong tài liệu và chương trình.
1.1.6. Vì sao cần bản địa hóa, quốc tế hóa PMMNM ?
Việc bản địa hóa, quốc tế hóa PMMNM giúp mang lại nhiều lợi íchcho người sử dụng:
 Dễ thâm nhập được vào các thị trường nước ngoài.
 Linh hoạt tiếp nhận người tiêu dùng, khách hàng mới.
 Đảm bảo tính chuyên nghiệp của phần mềm.
 Linh hoạt trong việc muốn nâng cao trải nghiệm người dùng với các gói ngôn ngữ
thích hợp.
 Gia tăng lợi nhuận doanh số bán hang trên toàn cầu.
 Đạt được thế cạnh tranh so với các đối thủ khách cùng lĩnh vực trên thị trường.
1.1.7. Một số lưu ý khi bản địa hóa phần mềm phần mềm mã nguồn mở tại Việt
Nam.
Việc bản địa hóa PMNM ở Việt Nam cần lưu ý:
 Định dạng ngày và thời gian

 Loại tiền tệ
 Định hướng ngôn ngữ
 Quy tắc viết hoa
 Quy tắc ngữ pháp
 Ký tự và biểu tượng
 Định dạng văn bản pháp lý của quốc gia cụ thể
 Nội dung, hình ảnh, quy chiếu, đồ họa,… phù hợp với văn hóa.
VD: Với hệ điều hành Window để có thể viết được ngôn ngữ tiếng việt bắt buộc chúng
ta phải có phần mềm Unikey hỗ trợ.

Hình 1.1. phần mềm unikey hỗ trợ trên hệ điều hành Window
5


1.1.8. Một số lưu ý khi quốc tế hóa phần mềm
Việc quốc tế hóa PMNM cần lưu ý:
 Khi dịch một văn bản sang ngôn ngữ khác thì độ dài văn bản sẽ thay đổi đáng kể.
 Đảm bảo rằng văn bản vẫn được định dạng đúng trong tài liệu và chương trình.
 Phải được lên kế hoạch trước để tránh gặp phải rắc rối và chi phí cho những thay
đổi sau này.

1.2.

Hướng dẫn thực hiện quốc tế hóa phần mềm

1.2.1. Quy trình thực hiện quốc tế hóa phần mềm
Quy trình quốc tế hóa một phần mềm nguồn mở:
 Xác định phần mềm địa phương.
 Tìm hiểu các công cụ và kỹ thuật phát triển.
 Phân lập tài nguyên có thể nội địa hóa.

 Sử dụng kỹ thuật phát triển.
 Xử lý chuỗi.
 Thiết kế giao diện người dùng.
 Đồ họa và ảnh chụp màn hình.
 Xem xét các yếu tố văn hóa.
1.2.2. Hưỡng dẫn thực hiện quốc tế hóa phần mềm mã nguồn mở
1.2.2.1.Công cụ phát triển và kĩ thuật

Khi phát triển một ứng dụng phần mềm, sự lựa chọn công cụ phát triển nên được
thực hiện với sự xem xét các bộ ký tự được hỗ trợ của nó để đảm bảo ứng dụng có thể
được bản địa hoá ở nhiều khu vực.
1.2.2.2.Cô lập các nguồn lực có thể định vị được

Tách tất cả các yếu tố có thể bản địa hoá khỏi mã nguồn chính. Cách đơn giản nhất
để tách các tài nguyên có thể bản địa hóa là đặt mọi thứ vào một kho lưu trữ như tệp tài
nguyên Windows (* .rc), .Net assembly file, hoặc một cơ sở dữ liệu khi xử lý nội dung
web.
Đảm bảo rằng không có các phần tử hoặc chuỗi cứng nào (ví dụ các thông điệp được
mã hoá cứng, …) được sử dụng trong mã. Các phần tử được mã hóa cứng khó có thể
bản địa hóa vì chúng không xuất hiện cho đến khi phần mềm bản địa hoá được biên
dịch và thực hiện. Một lần nữa, tất cả các chuỗi bản địa hóa nên được tách thành một
hoặc nhiều file tài nguyên. Các thành phần chính của chương trình yêu cầu bản địa hoá
bao gồm: menu, tin nhắn, hộp thoại, nhắc nhở, hình ảnh, âm thanh, thanh công cụ,
thanh trạng thái và các hằng số.
Các tài nguyên khác liên quan đến bản địa hóa cũng cần phải được cô lập, chẳng hạn
như tên phông chữ và tên thư mục (ví dụ đường dẫn thư mục Windows My
Documents). Các tài nguyên này cần được xác minh với nền tảng ngôn ngữ mục tiêu
trong quá trình bản địa. Nếu không chức năng có thể bị tác động.
Không phải chuỗi tài nguyên nào cũng cần được bản địa hóa. Ví dụ: chuỗi hoặc hộp
thoại để gỡ lỗi, dòng lệnh, mã mẫu và câu lệnh SQL không cần phải được bản địa

6


hóa. Chúng phải được tách ra khỏi các tài nguyên có thể định vị được hoặc có thể nhận
dạng dễ dàng thông qua các hướng dẫn rõ ràng để tránh nhầm lẫn trong quá trình bản
địa hóa.
Tạo danh sách tên sản phẩm / mô-đun và giữ chúng được cập nhật. Vì hầu hết các
công ty không dịch tên sản phẩm / mô-đun nên cần phải nỗ lực để người bản xứ xác
định tên sản phẩm hoặc mô-đun một cách dễ dàng hơn.
Tương tự với tên sản phẩm, thuật ngữ sản phẩm quan trọng nên được bao gồm trong
một bảng thuật ngữ chính. Quản lý thuật ngữ tốt sẽ giúp đi một chặng đường dài cho sự
ổn định của bản dịch tốt hơn ở hạ nguồn.
Các tệp tài nguyên cần được phát triển để biên dịch độc lập với môi trường biên
soạn tài nguyên và có thể được chia sẻ với nhóm bản địa hóa mà không cần tiết lộ mã
nguồn.
Nhóm phát triển phần mềm nên tạo các trường hợp thử nghiệm bản địa hoá để đạt
hiệu quả hơn. Các trường hợp thử nghiệm bao gồm một tập con của các trường hợp thử
nghiệm được thiết kế cho kiểm tra chức năng của phiên bản nguồn. Các trường hợp thử
nghiệm bản địa hóa tốt sẽ đảm bảo rằng người kiểm thử bản địa hóa có thể đi qua tất cả
các hộp thoại UI quan trọng trong tất cả các nền tảng ngôn ngữ đích.
1.2.2.3.Kỹ thuật

Chúng tôi khuyến nghị chỉ sử dụng hệ điều hành ngôn ngữ đích để biên soạn các tệp
tin cục bộ. Ví dụ, nếu một ứng dụng được bản địa hoá sang tiếng Hy Lạp, các tập tin tài
nguyên được bản địa hoá phải được biên dịch trong phiên bản Hy Lạp của hệ thống
Windows.
Sử dụng phông chữ mặc định của hệ thống cho ngôn ngữ mục tiêu để hiển thị văn
bản đã được bản địa hóa (ví dụ: Sử dụng Simsun để hiển thị Tiếng Hoa Giản thể, sử
dụng MS Gothic để hiển thị Nhật Bản vv).
Chỉ sử dụng các ký tự tiếng Anh, số và ký tự gạch dưới trong tên tập tin sao cho các

tệp tin có thể được mở trong bất kỳ nền tảng ngôn ngữ mục tiêu nào. Không bao giờ sử
dụng các ký tự double-byte như tên tập tin của Trung Quốc cho các tập tin ứng dụng vì
chúng sẽ không được chọn trên một hệ thống không phải của Trung Quốc.
Giữ định dạng tệp phù hợp cho tất cả các tệp nguồn. Định dạng Unicode được
khuyến cáo nếu không có khó khăn kỹ thuật hoặc các vấn đề để công ty hỗ trợ.
Các tệp nguồn gốc như RC, HTML và XML nên được cung cấp cho bản địa hóa
thay vì sử dụng các tệp đã biên dịch như DLL và CHM. Làm việc với các tập tin nguồn
sẽ cho phép dịch thuật tốt hơn và thúc đẩy kỹ thuật để cập nhật trong tương lai.
1.2.3. Giấy phép thực hiện
Việc bản địa hóa, quốc tế hóa phần mềm mã nguồn mở căn cứ vào một số giấy phép
sau:
Ngay từ năm 2004, Thủ tướng Chính phủ đã ban hành Quyết định số 235/2004/QĐTTg phê duyệt Dự án tổng thể về Ứng dụng và phát triển PMNM ở Việt Nam giai đoạn
7


2004-2008 đặt những nền móng ban đầu quan trọng trong việc đưa PMNM vào hoạt
động của cơ quan nhà nước
Quyết định số 50/2009/QĐ-TTg ngày 3/4/2009 của Thủ tướng Chính phủ ban hành
“Quy chế quản lý Chương trình phát triển công nghiệp phần mềm và Chương trình
phát triển công nghiệp nội dung số Việt Nam”
Điều 13. Tham gia nghiên cứu - phát triển, sản xuất sản phẩm công nghệ thông tin.
Tổ chức, cá nhân tham gia chương trình phát triển các sản phẩm công nghệ thông tin
trọng điểm do Nhà nước đầu tư phải đáp ứng các điều kiện sau:
Có lĩnh vực hoạt động, trình độ chuyên môn phù hợp với việc nghiên cứu - phát
triển, sản xuất, kinh doanh sản phẩm trong danh mục sản phẩm công nghệ thông tin
trọng điểm;
Có năng lực kỹ thuật, công nghệ, giải pháp phát triển các sản phẩm công nghệ thông
tin phù hợp với chương trình phát triển các sản phẩm công nghệ thông tin trọng điểm.
1.3. Quy trình lựa chọn và đánh giá một sản phẩm phần mềm nguồn mở
1.3.1. Đánh giá một sản phẩm phần mềm nguồn mở

Để đánh giá một phần mềm, có nhiều phương pháp để thực hiện, như CMMI,
SSMM, RRR, SPICE và mỗi cách thức đó có những ưu và nhược điểm của riêng
chúng.
Nhưng quy trình OMM (Open Source Maturity Model) là phổ biến hơn cả.Phương
pháp này được cấp phép theo Giấy phép Creative Commons.
OMM là một phương pháp để đánh giá Phần mềm nguồn mở miễn phí miễn phí
(FLOSS) và cụ thể hơn là quy trình phát triển FLOSS. Phương pháp này được phát
hành theo giấy phép Creative Commons.
OMM có thể giúp xây dựng niềm tin vào quá trình phát triển của các công ty sử
dụng hoặc sản xuất FLOSS.Mục đích của phương pháp này là cho phép bất kỳ doanh
nghiệp hoặc tổ chức nào sử dụng phần mềm FLOSS trong sản xuất và đặc biệt trong
các sản phẩm chủ đạo của họ và không chỉ trong các nguyên mẫu.
Mục tiêu của OMM là cung cấp cho cộng đồng FLOSS cơ sở để phát triển sản phẩm
hiệu quả và làm cho sản phẩm của họ đáng tin cậy cho khách hàng tiềm năng, đồng
thời tích hợp các công ty và cung cấp cho các nhà tích hợp FLOSS một cơ sở để đánh
giá các quy trình được sử dụng bởi các cộng đồng FLOSS.
1.3.2. Quy trình lựa chọn một sản phẩm phần mềm nguồn mở
Có 2 phương pháp lựa chọn phần mềm :
 Phương pháp định tính: tiến hành phân tích các nhóm tiêu chí lựa chọn phần mềm
trên cơ sở đưa ra ý kiến đánh giá và người có thẩm quyền cao nhất lựa chọn một
phần mềm.
 Phương pháp định lượng:
 Xác định các tiêu chí lựa chọn và tầm quan trọng của tưng tiêu thức .
 Đánh giá và cho điểm từng tiêu chí trong từng phần mềm.
8


 Tính điểm tổng cộng của từng phần mềm trên cơ sở của từng tiêu thức có nhân với
hệ số tầm quan trọng của tiêu thức đó.
 Phần mềm nào có tổng số điểm cao hơn sẽ được chọn.


Tất cả các phép đo trong một danh mục, cho dù chúng là định tính hay định lượng,
cần phải được so sánh với quy mô chuẩn hóa cho phép đo lường
có ý nghĩa.
Ví dụ: xem chỉ số “lượt tải xuống mỗi tháng”, nếu thành phần phần mềm
có 2000 lượt tải xuống mỗi tháng, tốt hay xấu? Tỷ lệ đó trong một
tỉ lệ? Quy mô và điểm có thể có thể là:
1 - 0 đến 499 lượt tải xuống / tháng - Không được chấp nhận
2 - 500 đến 999 lượt tải xuống / tháng - Kém
3 - 1000 đến 1999 lượt tải xuống / tháng - Có thể chấp nhận
4 - 2000 đến 2999 lượt tải xuống / tháng - Rất tốt
5 - 5000 lượt tải xuống / tháng - Tuyệt vời
Chuẩn hóa điểm tính năng theo thang tỷ lệ từ 1 đến 5 bằng cách sử dụng lược đồ
này:
- dưới 65%, điểm = 1 (không được chấp nhận)
- 65% - 80%, điểm = 2 (xấu)
- 80% - 90%, điểm = 3 (chấp nhận được)
- 90% - 96%, điểm = 4 (rất tốt)
- lớn hơn 96%, điểm = 5 (xuất sắc)

Chương 2. Tìm hiểu kỹ thuật phát triển phần mềm nguồn mở
nhóm hệ quản trị csdl MySQL
2.1.Kỹ thuật phát triển phần mềm nguồn mở nhóm hệ quản trị csdl MySQL
2.1.1. Hệ thống phần mềm nguồn mở
Phần mềm nguồn mở là phần mềm với mã nguồn được công bố và sử dụng một giấy
phép nguồn mở.
Phần mềm nguồn mở cho phép bất cứ ai đều có thể nghiên cứu, thay đổi và cải tiến
phần mềm, và phân phối phần mềm ở dạng chưa thay đổi hoặc đã thay đổi căn cứ theo
giấy phép nguồn mở.
2.1.2. Kỹ thuật phát triển hệ thống phần mềm nguồn mở

Hầu hết các phần mềm nguồn mở nói chung và phần mềm nguồn mở hệ cơ sở dữ
liệu nói riêng đề sử dụng mô hình lặp tang trưởng trong việc xây dựng phần mềm.
9


Mô hình lặp tang trưởng là Một mô hình được lặp đi lặp lại từ khi bắt đầu cho đến
khi làm đầy đủ chức năng.Quá trình này sau đó được lặp lại, tạo ra một phiên bản mới
của phần mềm vào cuối mỗi lần lặp của mô hình. Thay vì phát triển phần mềm từ spec
đặc tả rồi mới bắt đầu thực thi thì mô hình này có thể đánh giá dần dần để đi đến yêu
cầu cuối cùng.

Hình 2.1.
Bảng xếp
hạng các
hệ cơ sở
dữ liệu
theo mức
độ phổ
biến
2.1.3. Hệ
thống
phần
mềm
nguồn mở nhóm hệ quản trị cơ sở dữ liệu
Cơ sở dữ liệu là các công cụ độc quyền được cung cấp bởi Oracle, IBM, Microsoft
và một số nhà cung cấp nhỏ khác. Người dùng sẽ phải bỏ ra một số tiền để được sử
dụng đầy đủ các chức năng cũng như không thể chỉnh sửa mã nguồn để thêm được các
chức năng theo nhu cầu.
Các phần mềm nguồn mở nhóm cơ sở dữ liệu ra đời là lựa chọn thay thế cho các sản
phẩm cơ sở dữ liệu sở hữu độc quyền.

Một số phần mềm Cơ sở dữ liệu nguồn mở hiện nay:
 MySQL
 PostgreSQL
 MongoDB
 Cassandra
 MariaDB
2.1.4. Hệ quản trị cơ sở dữ liệu MySQL
MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới và được
các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng.
MySQL được sử dụng cho việc bổ trợ NodeJs, PHP, Perl, và nhiều ngôn ngữ khác,
làm nơi lưu trữ những thông tin trên các trang web viết bằng NodeJs, PHP,..
Ưu điểm:
10


 MySQL rất nhanh, đáng tin cậy, và rất dễ sử dụng.
 MySQL sử dụng cú pháp SQL tiêu chuẩn.
 MySQL được biên dịch trên một số nền tảng.
 MySQL là mã nguồn mở nên hoàn toàn miễn phí khi sử dụng.
MySQL là hệ quản trị cơ sở dữ liệu nguồn mở phổ biến nhất tính đến tháng 5 năm
2018.

Hình 2.2. Bảng xếp hạng các hệ cơ sở dữ liệu theo mức độ phổ biến

2.1.5. Công cụ thiết kế cơ sở dữ liệu MySQL Workbench
2.1.5.1.

Giới thiệu công cụ MySQL Workbench

MySQL WorkBench công cụ thiết kế cơ sở dữ liệu đa nền tảng, có thể sử dụng trên

các hệ điều hành Windows, Linux và OS X.
MySQL WorkBench giúp hỗ trợ bạn thao tác với MySQL thông qua giao diện đồ
họa.
Ưu điểm MySQL Workbench:
 Trình trực quan để giao tiếp với MySQL
 Thực hiện hiển thị đồ họa cho người dùng như các bảng, các database, mô hình…
 Nếu không có nó thì ta sẽ phải giao tiếp với MySQL bằng giao diện dòng lệnh khá
phức tạp và mất thời gian.
 Dễ tiếp cận, phổ biến, cộng đồng nguiời dùng lớn.
Thao tác với MySQL Workbench:
 Tạo connection
 Quản lý cơ sở dữ liệu ( database) ( tạo mới, thiết lập gía trị … )
11












Quản lý table trong database ( tạo mới, thiết lập giá trị, tạo foreign key … )
Thực hiện truy vấn
Sao lưu dữ liệu ( Export )
Phục hồi dữ liệu ( Import )
Tạo tài khoản ( user )

Phân quyền cho tài khoản
Xóa database
Xóa table
Xóa user

2.1.5.2.

Tính mở trong MySQL Workbench

MySQL Workbench cung cấp một hệ thống mở rộng (extension) và hệ thống kịch
bản(scripting) cho phép nhà phát triển mở rộng khả năng của MySQL Workbench.
Cốt lõi của MySQL Workbench được phát triển bằng cách sử dụng C ++, bạn có thể
khai thác chức năng lõi này bằng cách sử dụng ngôn ngữ kịch bản lệnh Python.
Hệ thống mở rộng cho phép các khả năng sau:
 Tự động hóa các tác vụ phổ biến.
 Mở rộng giao diện người dùng Workbench.
 Tạo công cụ / Plugins (mã có thể được gọi từ hệ thống menu Workbench).
 Thao tác các lược đồ.
 Tạo các tính năng Workbench tùy chỉnh.

12


2.1.5.3.

Plugin trong mysql workbench

Plugin là các Mô-đun đặc biệt được hiển thị cho người dùng thông qua GUI
Workbench.
Plugin có thể là một hàm đơn giản thực hiện một số thao tác trên đầu vào và kết thúc

mà không cần tương tác thêm với người dùng.
Ví dụ: Ví dụ về điều này bao gồm tự động sắp xếp một sơ đồ, hoặc thực hiện thay đổi
hàng loạt cho các đối tượng.
2.1.6. So sánh MYSQL với các hệ quản trị cơ sở dữ liệu khác
Windows

Mac OS X

Linux

BSD

UNIX

MySQL











ADS




Không







Apache
Derby2











DB2



Không



Không




Firebird











HSQLDB2











H22












Informix











Ingres












InterBase



Không



Không

Có (Solaris)

Adabas



Không



Không



MaxDB




Không



Không



Microsoft
SQL Server



Không

Không

Không

Không

Oracle








Không



PostgreSQL











Pyrrho
DBMS

Có (.NET)

Không

Có (Riêng lẻ)

Không

Không

SmallSQL












SQLite











Windows

Mac OS X

Linux

BSD


UNIX

Hình 2.3.Các hệ quản trị CSDL trên các Hệ điều hành
13


ACID

Referential integrity

Transactions

Unicode

MySQL

Phụ thuộc 3

Phụ thuộc 3

Phụ thuộc 3

Có / UTF-8 (3-byte)
&UCS-2

Oracle










ADS









Apache Derby









DB2










Firebird









HSQLDB









H2










Informix









Ingres









InterBase










MaxDB









Microsoft
SQL Server









Pyrrho
DBMS










SQLite



Không 4

Cơ bản 4



Teradata









ACID


Referential integrity

Transactions

Unicode

Hình 2.4.Tính năng cơ bản trên các hệ quản trị CSDL
Bảng tạm

Khung nhìn cụ thể

MySQL



Tương tự6

Oracle





PostgreSQL



Tương tự7

Pyrrho DBMS


Không

Không

SQLite



Không

Teradata





14


Bảng tạm

Khung nhìn cố định

Hình 2.5.Bảng và khung nhìn trên các hệ quản trị CSDL
Domain

Cursor

Trigger


Hàm11

Thủ tục11

External
routine 11

MySQL

Không











Firebird














HSQLDB

?

Không









H2

?

Không










Informix

?











Ingres














InterBase













MaxDB











?


Microsoft
SQL Server

Có (2000 and
beyond)











Oracle














PostgreSQL













Pyrrho
DBMS













SQLite


Không

Không



Không

Không



Teradata

Không











Domain

Cursor


Trigger

Hàm

Thủ tục

External
routine

Hình 2.5.Các đối tượng khác trên các hệ quản trị CSDL

2.2.Bài toán minh họa
2.2.1. Tên bài toán: Bài toán xây dựng hệ thống Quản lý bán hàng với các bảng
và ràng buộc
Bài toán xây dựng CSDL để quản lý bán hàng
Cửa hàng chuyên bán các loại vật tư của như nhà cung cấp.
Mỗi vật tư có mã vật tư , tên vật tư , đơn vị tính và phần trăm lợi nhuận . Vật tư
được cửa hàng cung cấp thông qua phiếu xuất , mỗi phiếu xuất đều có thông tin số
phiếu xuất, ngày xuất và tên khách hàng. Kèm theo đó là chi tiết phiếu xuất cho biết
15


thông tin của vật tư cần xuất là số phiếu xuất , mã vật tư , số lượng xuất và đơn giá
xuất.
Cứ sau 1 ngày hoạt động bán hàng thì hệ thống sẽ tiến hàng thông kê lại số lượng
vật tư theo bảng Tồn kho với các thôn tin thống kê là năm tháng , mã vật tư, số lượng
đầu , số lượng nhập ,số lượng xuất và số lượng cuối. Theo đó sẽ biết được vật tư là đã
hết và chuẩn bị hết hàng, để lê kế hoạch đặt hàng sớm nhất theo bảng DonDH và
CTDonDH. Với các thông tin số đơn đặt hàng , ngày đặt hàng và mã nhà cung cấp của

bảng DonDH, các thông tin số đơn hàng , mã vật tư và số lượng đặt của bảng
CTDonDH.
Thông tin nhà cung cấp bao gồm mã nhà cung cấp, tên nhà cung cấp, địa chỉ và số
điện thoại. Vật tư được bàn giao từ nhà cung cấp đến cửa hàng thông qua phiếu nhập
và chi tiết phiếu nhập, với các thông tin số phiếu nhập , ngày nhập và số đơn hàng của
bảng phiếu nhập, số phiếu nhập , mã vật tư , số lượng nhập và đơn giá nhập của bảng
chi tiết phiếu nhập.
Phân tích và xây dựng cơ sở dữ liệu
Các bảng lưu trữ:

Pxuat (SoPX,NgayXuat,TenKH)
NhaCC
(MaNhaCC,TenNCC,DiaChi,DienThoai)
DonDH (SoDH,NgayDH,MaNhaCC)
Pnhap (SoPN, NgayNhap,SoDH)
VatTu
(MaVTu,TenVTu,DVTinh,PhanTram)

CTPXuat
(SoPX,MaVTu,SLXuat,DGXuat)
CTPNhap
(SoPN,MaVTu,SLNhap,DGNhap)
CTDonDH (SoDH,MaVTu,SLDat)
TonKho
(NamThang,MaVTu,SLDau,Slnhap,SL
Xuat,SLCuoi)

16



Bảng phiếu xuất
Tên cột
SoPX
NgayXuat
TenKH

Kiểu dữ liệu
Int
Date
Nvarchar(50)

Ý nghĩa
Số phiếu xuất
Ngày xuất
Tên khách hàng

Bảng chi tiết phiếu xuất
Tên cột
SoPX
MaVTu
SLXuat
DGXuat

Kiểu dữ liệu
Int
Int
Int
Money

Tên cột

MaNCC
TenNCC
DiaChi
DienThoai

Kiểu dữ liệu
Int
Nvarchar(50)
Nvarchar(50)
Int

Ý nghĩa
Số phiếu xuất
Mã vật tự
Số lượng xuất
Đơn giá xuất

Bảng nhà cung cấp
Ý nghĩa
Mã nhà cung cấp
Tên nhà cung cấp
Địa chỉ
Điện thoại

Bảng tồn kho
Tên cột
Namthang
MaVTu
SLDau
Slnhap int

Slxuat
Slcuoi

Kiểu dữ liệu
Date
Int
Int
Int
Int
Int

Ý nghĩa
Năm tháng
Mã vật tư
Số lượng đầu
Số lượng nhập
Số lượng xuất
Số lượng cuối

Bảng vật tư
Tên cột
MaVTu
TenVTu
DVTinh
PhanTram

Kiểu dữ liệu
Int
Nvarchar(50)
Int

Int

Tên cột
SoDH
NgayDH
MaNCC

Kiểu dữ liệu
Int
Date
Int

Ý nghĩa
Mã vật tư
Tên vật tư
Đơn vị tính
Phần trăm

Bảng đơn đặt hàng

Bảng chi tiết đơn đặt hàng

Ý nghĩa
Số đơn hàng
Ngày đặt hàng
Mã nhà cung cấp


Tên cột
SoDH

MaVTu
SLDat

Kiểu dữ liệu
Int
Int
Int

Tên cột
SoPN
NgayNhap
SoDH

Kiểu dữ liệu
Int
Date
Int

Ý nghĩa
Số đơn hàng
Mã vật tư
Số lượng đặt

Bảng phiếu nhập
Ý nghĩa
Số phiếu nhập
Ngày nhập
Số đơn hàng

Bảng chi tiết phiếu nhập

Tên cột
SoPn
MaVTu
Slnhap
DGNhap

Kiểu dữ liệu
Int
Int
Int
Money

Ý nghĩa
Số phiếu nhập
Mã vật tư
Số lượng nhập
Đơn giá nhập

2.2.2. Sơ đồ liên kết các bảng

Hình 2.6.Sơ đồ liên kết các bảng
2.2.3. Nội dung
Các bước thực hiện:(Dùng ngôn ngữ truy vấn T-SQL)








Bước 1: Tạo database
Bước 2: Tạo các bảng và ràng buộc giữa các bảng
Bước 3: Tạo Model trực quan cho cơ sở dữ liệu
Bước 4: Thực hiện các truy vấn trên cơ sở dữ liệu vừa tạo

2.3

Thực hiện bài toán

2.3.1 Phạm Hồng Yến- Hướng dẫn cài đặt phần mềm MySQL(công cụ thiết kế
cơ sở dữ liệu MySQL Workbench và thực hiện thiết kế cơ sở dữ liệu
2.3.1.1 Sơ lược về các phiên bản của MySQL
Có 2 phiên bản MySQL:
 MySQL Cummunity: Là phiên bản miễn phí. (Chúng ta sẽ cài đặt phiên bản này).
 MySQL Enterprise Edition: Là phiên bản thương mại.
2.3.1.2 Download MySQL
Chúng ta sẽ download và sử dụng MySQL miễn phí: MySQL Community Server.
MySQL Community Server có 2 phần quan trọng nhất:
 MySQL Server
 MySQL Workbench (Công cụ trục quan để học và làm việc với MySQL)

B1: Vào địa chỉ Download MySQL Community: />

B2: Click “Go to Download Page”

B3: Chọn phiên bản phù hợp với máy tính


B4: Không đăng nhập vào Oracle Web mà sẽ Download luôn.


Kết quả Download


2.3.1.3 Cài đặt MySQL Community
Quá trình cài đặt MySQL Workbench giống như các phần mềm khác.
B1: Mở file vừa tải.
B2: Đọc các Thỏa thuận cấp phép rồi “Accept” và chọn “Next”
B3: Chọn cài đặt tất cả, bao gồm cả các Database mẫu (Cho mục đích học tập) =>
Chọn “Next” để tiếp tục.
Tại bước này bộ cài đặt thông báo máy tính của bạn chưa cài đặt một số thư viện cần
thiết. Vì vậy nếu bạn nhấn “Next” ngay để tiếp tục cài đặt có thể bị lỗi trong quá trình
cài
đặt.
B4: Nhấn chọn các thư viện cần thiết và nhấn nút “Execute” để cài đặt.
Lúc này tất cả các thư viện cần thiết đã được cài đặt vào máy tính của bạn. Một vài thư
viện có thể bạn không cần sử dụng đến chẳng hạn như Connector/Python, bạn có thể
bỏ qua nó hoặc cài đặt thủ công nếu muốn.
OK, Nhấn Next để tiếp tục cài đặt MySQL. Tuy nhiên tại đây sẽ có hiển thị cảnh báo:
Một hoặc nhiều yêu cầu sản phẩm chưa được hài lòng. Những sản phẩm có yêu cầu bị
thiếu sẽ không được cài đăt hoặc nâng cấp. Bạn có muốn tiếp tục?=> Chọn “Yes” để
tiếp tục.
Bộ cài hiển thị danh sách các gói sẽ được cài vào
B5: Nhấn “Execute” để bắt đầu thực hiện cài đặt


Sau khi các gói được cài xong, nhấn “Next” để chuyển sang giai đoạn tiếp theo.
B6:Cấu hình MySQL Server
Nhấn “Next” để bắt đầu. Tiếp tục nhấn “Next” để qua các bước.
B7: Đặt password cho tài khoản Root của bạn. Lưu ý đừng quên.
Tiếp tục “Next”

B8: Áp dụng cấu hình.
Nhấn “Execute” để thực thi
Đợi quá trình thực thi xong thì sẽ “Finish”
B9: Cấu hình Database
Kết nối đến Server: Nhập vào password và nhấn Check để kiểm tra việc kết nối
với MySQL.
B10: Áp dụng cấu hình
B11: Cấu hình sản phẩm
Nhấn Finish để kết thúc quá trình
2.3.1.4 Phạm Hồng Yến – Thực hiện thiết kế cơ sở dữ liệu
2.3.1.4.1 Nội dung thực hiện:
 Tạo database
 Tạo các bảng dữ liệu: Pxuat, NhaCC, VatTu, TonKho
 Thực hiện một số câu lệnh truy vấn dữ liệu
2.3.1.4.2 Quá trình thực hiện:
a. Tạo database
- Đăng nhập vào MySQL và Tạo 1 Query mới
- Chọn Query-> New Tab to Current Server -> Query mới


-

Tạo cơ sở dữ liệu qlybanhang và sử dụng cơ sở dữ liệu đó.

b. Tạo các bảng

c. Thực hiện truy vấn đến từng bảng vừa tạo


d. Thêm dữ liệu vào các bảng

- Thêm dữ liệu vào bảng vật tư và truy vấn ra kết quả:

-

Thêm dữ liệu cho bảng phiếu xuất và truy vấn kết quả:


×