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ụngphần mềm.Để phần mềm đó được điều chỉnh ch
Trang 1TRƯỜ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 :Th.s Vũ Thị Dương
Sinh viên thực hiện :
Trang 2Mụ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 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 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 Giấy phép thực hiện 7
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ở 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
Trang 32.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
Trang 4Chươ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ụngphầ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ônngữ đ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áncủ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 để
đáp ứng nhu cầu về ngôn ngữ, văn
hóa, pháp lý,… ở một địa phương
cụ thể
• Phần mềm của bạn phải được
quốc tế hóa thì mới có thế bản địa
hóa
• Thiết kế và phát triển phần mềm
để nó có thể dễ dàng điều chỉnh sảnphẩm với nhiều khu vực.Nghĩa là
"chuẩn bị" sản phẩm của bạn chobản địa hóa
• Một sản phẩm quốc tế có thể dễdàng được nội địa hóa, không có bất
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
Các đặc điểm của quốc tế hóa phần mềm:
Trang 5 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
Đị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
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ể
Trang 6 Đả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 đượcthự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àinguyên Windows (* rc), Net assembly file, hoặc một cơ sở dữ liệu khi xử lý nội dungweb
Đả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êndị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ộthoặ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ạnnhư tên phông chữ và tên thư mục (ví dụ đường dẫn thư mục Windows MyDocuments). 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êutrong 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ộpthoạ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 địahó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ậndạ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
Trang 7Tạ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áccô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 trongmộ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ênsoạ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á để đạthiệ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ệptin 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àinguyê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ốngWindows
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ănbả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áctệ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 đượckhuyế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óathay 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
Trang 8235/2004/QĐ-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ìnhphá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 tintrọ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áttriển, sản xuất, kinh doanh sản phẩm trong danh mục sản phẩm công nghệ thông tintrọ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ôngtin 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êngchúng
Nhưng quy trình OMM (Open Source Maturity Model) là phổ biến hơn cả.Phươngphá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áthà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ỳ doanhnghiệ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 trongcá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ẩmhiệ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, đồngthờ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ở để đánhgiá 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ềmtrê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ộtphầ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
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
Trang 9Tấ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 MySQL2.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ấyphé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ếnphầ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ứ theogiấ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
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 đếnkhi 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ớicủ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
Trang 10đặ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êucầ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ácchứ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ảnphẩ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:
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à đượccá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:
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
Trang 11 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ăm2018
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êncá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ị … )
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 )
Trang 12 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ịchbả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
Trang 132.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 GUIWorkbench
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 Có Có Có Có Có
InterBase Có Không Có Không Có ( Solaris )
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
Trang 14ACID Referential integrity Transactions Unicode
MySQL Phụ thuộc 3 Phụ thuộc 3 Phụ thuộc 3 Có / UTF-8 (3-byte)
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
Trang 15Bả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àm 11 Thủ tục 11 External
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
Trang 16thô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ượngvậ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ủabảng DonDH, các thông tin số đơn hàng , mã vật tư và số lượng đặt của bảngCTDonDH
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ủabả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ảngchi tiết phiếu nhập
Phân tích và xây dựng cơ sở dữ liệu
(SoPN,MaVTu,SLNhap,DGNhap)CTDonDH (SoDH,MaVTu,SLDat)TonKho
(NamThang,MaVTu,SLDau,Slnhap,SLXuat,SLCuoi)
Bảng phiếu xuất
Bảng chi tiết phiếu xuất
Bảng nhà cung cấp