Tải bản đầy đủ (.pdf) (79 trang)

Xây dựng website quản lý nhân sự cho công ty VNPT thái nguyên

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 (2.49 MB, 79 trang )

MỤC LỤC
LỜI CẢM ƠN ............................................................................................................. 5
LỜI MỞ ĐẦU ............................................................................................................. 6
MỤC ĐÍCH ................................................................................................................. 6
CHƯƠNG I: CƠ SỞ LÝ THUYẾT ............................................................................. 8
1.1. Ngôn ngữ PHP................................................................................................... 8
1.1.1. Giới thiệu ngôn ngữ PHP ............................................................................. 8
1.1.2. Sử dụng PHP................................................................................................ 9
1.1.3. Ưu và ngôn ngữ nhược điểm của PHP........................................................ 15
1.2. MYSQL........................................................................................................... 15
1.2.1. MySLQ là gì? ............................................................................................ 15
1.2.2. Đặc điểm của MySQL................................................................................ 16
1.2.3. Các kiểu dữ liệu trong cơ sở dữ liệu MySQL ............................................. 17
1.2.4. Phát biểu SQL............................................................................................ 20
1.2.5. Ưu và nhược điểm của MySQL.................................................................. 21
1.3. Tổng quan về UML.......................................................................................... 22
1.3.1. Giới thiệu mô hình hóa thống nhất UML (Unified Modeling Language) .... 22
1.3.2. Mục đích của UML.................................................................................... 22
1.3.3. Công dụng của UML.................................................................................. 22
1.3.4. Các đặc trưng và khả năng của UML ......................................................... 23
1.3.5. Mô hình khái niệm của UML ..................................................................... 24
1.3.6. Các khối cơ bản xây dựng mô hình ............................................................ 24
1.3.7. Kiểu dữ liệu ............................................................................................... 28
1.3.8. Biểu đồ trong UML.................................................................................... 29
1.3.9. Kiến trúc hệ thống trong UML ................................................................... 32
CHƯƠNG 2: KHẢO SÁT VÀ PHÂN TÍCH THIẾT KẾ HỆ THỐNG ...................... 33
2.1 Khảo sát............................................................................................................... 33
2.1.1. Giới thiệu...................................................................................................... 33
2.1.2. Khảo sát thực trạng ....................................................................................... 37
2.1.3 Phân tích bài toán........................................................................................... 44
2.1.4. Phạm vi dự án ............................................................................................... 44


2.1.5. Yêu cầu người dùng ...................................................................................... 45
2.2. Phân tích thiết kế hệ thống .................................................................................. 47
2.2.1.Yêu cầu giao diện website........................................................................... 47

1


2.2.2.Phân tích các chức năng của hệ thống ......................................................... 48
2.3. Thiết kế biểu đồ Usecases ................................................................................... 48
2.3.1. Biểu đồ Usecase......................................................................................... 48
2.3.2. Biểu đồ trình tự .......................................................................................... 58
2.3.2.1.Biểu đồ trình tự chức năng đăng nhập ...................................................... 58
2.3.2.2. Biểu đồ trình tự UC thay đổi thông tin cá nhân ....................................... 59
2.3.2.3 Biểu đồ trình tự UC thay đổi mật khẩu..................................................... 59
2.3.3. Thiết kế biểu đồ lớp ...................................................................................... 62
2.2.4 Thiết kế cơ sở dữ liệu..................................................................................... 63
CHƯƠNG 3: THIẾT KẾ CHƯƠNG TRÌNH............................................................. 64
3.1.Một số yêu cầu thiết kế giao diện ứng dụng ...................................................... 64
3.1.1.Các tính chất của hình giao diện.................................................................. 64
3.1.2.Các kỹ thuật ................................................................................................ 64
3.2.Thiết kế giao diện trang quản lý ........................................................................ 64
3.2.1.Giao diện trang chủ ..................................................................................... 64
3.2.2. Giao diện các trang chi tiết......................................................................... 69
3.3. Thiết kế giao diện trang quản trị....................................................................... 72
3.3.1 Trang chủ.................................................................................................... 72
3.3.2. Giao diện các trang chi tiết......................................................................... 74
KẾT LUẬN .............................................................................................................. 77
TÀI LIỆU THAM KHẢO ......................................................................................... 79

2



DANH MỤC HÌNH ẢNH

Hình 2.1: Sơ đồ tổ chức của VNPT Thái Nguyên ...................................................... 34
Hình 2.2 Biểu đồ UC tổng quát.................................................................................. 53
Hình 2.3 Biểu đồ UC cho chức năng đăng nhập......................................................... 54
Hình 2.4 Biểu đồ UC cho chức năng quản lý nhân viên ............................................. 54
Hình 2.5 Biểu đồ UC cho chức năng quản lý thành viên ............................................ 55
Hình 2.6 Biểu đồ UC cho chức năng quản lý khen thưởng kỷ luật ............................ 55
Hình 2.7 Biểu đồ UC cho chức năng tìm kiếm........................................................... 56
Hình 2.8 Biểu đồ UC cho chức năng thống kê ........................................................... 56
Hình 2.9 Biểu đồ UC cho chức năng quản lý tin tức .................................................. 57
Hình 2.10 Biểu đồ UC cho chức năng quản lý đơn vị ................................................ 57
Hình 2.10 Biểu đồ UC cho chức năng quản lý biểu mẫu văn bản ............................... 58
Hình 2.11 Biểu đồ trình tự cho chức năng đăng nhập................................................. 58
Hình 2.12 Biểu đồ trình tự cho chức năng thay đổi thông tin cá nhân ........................ 59
Hình 2.13 Biểu đồ trình tự UC thay đổi mật khẩu ...................................................... 59
Hình 2.15 Biểu đồ trình tự cho chức năng thêm hồ sơ nhân viên................................ 60
Hình 2.16 Biểu đồ trình tự cho chức năng cập nhật hồ sơ .......................................... 60
Hình 2.17 Biểu đồ trình tự cho chức năng tìm kiếm................................................... 61
Hình 2.18 Biểu đồ trình tự cho chức năng tìm thống kê ............................................. 61
Hình 2.19 Biểu đồ lớp................................................................................................ 62
Hình 3.1: Giao diện trang chủ .................................................................................... 65
Hình 3.2: Giao diện trang đăng nhập.......................................................................... 69
Hình 3.3: Giao diện trang quản trị.............................................................................. 72
Hình 3.4: Giao diện trang thêm nhân viên.................................................................. 74
3



Hình 3.5: Giao diện danh sách nhân viên ................................................................... 75
Hình 3.5: Giao diện trang quản lý tin tức ................................................................... 76

4


LỜI CẢM ƠN
Trước tiên em xin gửi lời cám ơn chân thành sâu sắc tới các thầy cô giáo trong
trường Đại học Công Nghệ Thông Tin Và Truyền Thông nói chung và các thầy cô
giáo trong khoa Công Nghệ Thông Tin, bộ môn Truyền thông & Mạng máy tính nói
riêng đã tận tình giảng dạy, truyền đạt cho em những kiến thức, kinh nghiệm quý báu
trong suốt thời gian qua.
Đặc biệt em xin gửi lời cảm ơn đến cô giáo ThS. Lương Thị Minh Huế đã tận
tình hướng dẫn, trực tiếp chỉ bảo em trong suốt thời gian làm đề tài. Trong thời gian
làm việc với cô, em không những tiếp thu thêm nhiều kiến thức bổ ích mà còn học
được tinh thần làm việc, thái độ nghiên cứu khoa học nghiêm túc, hiệu quả. Đây là
những điều rất cần thiết cho em trong quá trình học tập và công tác sau này.
Do thời gian hạn hẹp, mặc dù đã nỗ lực hết sức mình nhưng đề tài của em khó
tránh khỏi những thiếu sót. Em rất mong nhận được những ý kiến đóng góp của quý
Thầy Cô và các bạn để đề tài của em được hoàn thiện hơn. Một lần nữa em xin chân
thành cảm ơn!

5


LỜI MỞ ĐẦU
Trên thế giới cũng như ở Việt Nam, CNTT có ảnh hưởng rất mạnh mẽ đến sự
phát triển của đất nước và thế giới. CNTT đang phát triển với tốc độ mạnh mẽ và
được ứng dụng rất rộng rãi trong tất cả các lĩnh vực, đặc biệt là trong công tác quản lý.
Nó đóng góp một phần rất lớn làm đơn giản hoá cũng như rút ngắn thời gian công sức

và nâng cao hiệu quả làm việc của các nhà quản lý.
Ở nước ta công tác quản lý nhân sự thực sự là một bài toán khó mà nhiều doanh
nghiệp gặp phải. Các thông tin liên quan đến nhân viên là rất nhiều và việc lưu trữ các
thông tin này là rất khó khăn khi phải thực hiện bằng tay. Có rất nhiều hạn chế, nhiều
thiếu sót dễ mất các giấy tờ liên quan… đặc biệt là thời gian làm sẽ rất lâu và tốn công
sức.
Xuất phát từ thực tế đó, em đã chọn đề tài “Xây dựng Website quản lý nhân sự
cho công ty VNPT Thái Nguyên”. Đây là một đề tài không còn mới song nó vẫn
chưa phổ biến trong quá trình quản lý nhân sự. Vì vậy, em nghiên cứu đề tài này với
hy vọng sẽ góp phần giúp cho công việc quản lý nhân sự trở nên dễ dàng hơn.
Em xin chân thành cảm ơn cô giáo Th.S Lương Minh Huế, người đã hướng dẫn
và giúp đỡ em trong quá trình thực hiện đề tài. Trong thời gian làm việc với cô, em
không những tiếp thu thêm nhiều kiến thức bổ ích mà còn học được tinh thần làm việc,
thái độ nghiên cứu khoa học nghiêm túc, hiệu quả. Đây là những điều rất cần thiết cho
em trong quá trình học tập và công tác sau này.
Mặc dù đã rất cố gắng để hoàn thành công việc, xong do thời gian có hạn trong
việc thu thập thông tin thực tế, phân tích hệ thống thông tin, tập hợp tài liệu in ấn và
lập trình, do đó chương trình của em còn nhiều thiếu sót cần được bổ sung.
Em rất mong nhận được những ý kiến đóng góp của quý Thầy Cô và các bạn để
đề tài của em được hoàn thiện hơn..
Em xin chân thành cảm ơn!

MỤC ĐÍCH
6


Đây là website quản lý nhân sự hỗ trợ cho việc quản lý nhân sự online một cách
hiệu quả nhất. Nhờ vào hệ thống website người quản lý có thể quản lý đầy đủ các
thông tin liên quan đến hồ sơ nhân viên một cách đầy đủ và gọn nhẹ nhất, cũng như có
thể thống kê, báo cáo một cách rõ ràng và chính xác.

Website được thực hiện phục vụ đối tượng chính là bộ phận quản lý nhân sự và
bên cạnh đó nhân viên trong công ty cũng có thể cập nhật được hồ sơ cá nhân.
- Với nhân viên: là những thành viên của website được cấp tài khoản đăng nhập
và mật khẩu mặc định đều là mã nhân viên, có quyền truy cập vào website để tự cập
nhật thông tin hồ sơ cá nhân.
Trang web sẽ giúp cho nhân viên:
+ Xem và cập nhật một số thông tin cá nhân
+ In thông tin cá nhân.
+ Xem tin tức trên website.
+ Download một số biểu mẫu liên quan đến hành chính, nhân sự.
- Với người quản lý nhân sự: là người có toàn quyền với các chức năng của trang
web. Người này có tài khoản có thể đăng nhập vào hệ thống quản lý của website
nhằm:
- Quản lý hồ sơ nhân viên của công ty một cách dễ dàng.
- Xuất thông tin, báo cáo, thống kê và in danh sách nhân sự.
- Trả lời phản hồi của khách hàng.
Và mọi chức năng của một khách hàng có thì người quản lý cũng có.
- Người quản trị trang web:
Không chỉ thế, trang web còn phải có giao diện bát mắt, thân thiện, dễ sử dụng.
Vì giao diện đẹp sẽ giúp người quản lý cũng như khách hàng tương tác với hệ thống dễ
dàng hơn và cũng là yếu tố thu hút khách hàng đến với trang web của cửa hàng.

7


CHƯƠNG I: CƠ SỞ LÝ THUYẾT
1.1. Ngôn ngữ PHP
1.1.1. Giới thiệu ngôn ngữ PHP
a. Lịch sử ra đời
Năm 1995, Rasmus Lerdorf tạo ra PHP nhằm giải quyết việc viết lặp đi lặp lại

cùng đoạn mã khi tạo các trang. Ban đầu tác giả chỉ có ý định tạo bộ phân giải đơn giản
để thay thế các thẻ lệnh trong file HTML bằng các đoạn mã lệnh viết bằng C.
b. PHP là gì ?
PHP là một công nghệ phía máy chủ (server – side) và không phụ thuộc môi
trường (cross-platfom). Cả hai yếu tố này đều rất quan trọng. Khái niệm công nghệ
phía máy chủ nói đến việc mọi thứ trong PHP đều xảy ra trên máy chủ (ngược với máy
khách là máy của người dùng). Tính chất không phụ thuộc môi trường cho phép PHP
chạy trên hầu hết các hệ điều hành như windows, Unix (và nhiều biến thể của nó),
Macintosh…Một điều cũng rất quan trọng là các mã kịch bản PHP viết trên máy chủ
này sẽ làm việc bình thường trên các máy chủ khác mà không cần chỉnh sửa hoặc
chỉnh sửa rất ít.
Mã PHP được thực thi ở phía Server, khi trình duyệt của người dùng truy cập
một trang web có chứa một đoạn mã PHP thì trình duyệt nhận được trang kết quả đã
xử lý từ Web server, người dùng sẽ không thể biết được đoạn mã viết gì. Mã PHP
được bao trong cặp dấu <?php ?> hoặc <? ?>. Tập tin PHP có phần mở rộng là .php
hoặc .php3
PHP tương tự JSP và ASP với tập thẻ lệnh dùng cho trang HTML. Điểm đặc
biệt là PHP được phát triển hoàn toàn cho nền tảng web, chính vì vậy, mà các ứng
dụng viết bằng PHP rất ngắn gọn so với VBScript hay JSP. Đây cũng chính là điểm
mạnh của PHP so với Perl.
Cú pháp PHP mượn từ nhiều ngôn ngữ khác như C, Java, Perl... PHP có thể giao
tiếp với nhiều hệ CSDL như MySQL, MS Access, Sybase, Oracle và cả Microsoft SQL.
Không chỉ có khả năng thao tác CSDL, PHP còn có nhiều khả năng khác như IMAP,
SNMP, LDAP, XML... PHP chạy trên hầu hết các nền tảng hệ thống. Trình máy chủ phân
8


giải mã lệnh PHP có thể tải về miễn phí từ trang web chính thức của PHP.
Có lẽ yếu tố hấp dẫn nhất của PHP là nó hoàn toàn miễn phí. Với máy tính cấu
hình vừa phải chạy Linux, cài đặt Apache, PHP và MySQL, bạn sẽ có máy chủ có thể

phục vụ được nhiều ứng dụng web tương đối. Toàn bộ chi phí hầu như chỉ là thời gian
bạn bỏ ra để cài đặt các phần mềm.
PHP được xem là một thay thế cho Perl. PHP không thể làm được nhiều như
Perl, thế nhưng chính sự hạn chế này làm cho PHP dễ học và dễ dùng.
c. Tại sao cần dùng PHP?
PHP được sử dụng để phát triển website động vì nó tốt, nhanh và dễ dàng
nghiên cứu hơn các giải pháp khác. PHP có khả năng thực hiện và tích hợp chặt chẽ
với hầu hết các cơ sở dữ liệu có sẵn, tính năng bền vững linh động và khả năng phát
triển không giới hạn. Tất cả các đặc tính trên đều miễn phí vì PHP là mã nguồn mở.
PHP vừa dễ với người mới sử dụng và vừa có khả năng làm được mọi thứ, đáp ứng
yêu cầu của lập trình viên chuyên nghiệp.
PHP được sử dụng càng ngày càng nhiều và mới đây đã bắt kịp ASP (vốn được
xem là ngôn ngữ kịch bản phổ biến nhất hiện nay). PHP là modun thông dụng cho
Apache (máy chủ Web phổ biến nhất) và nó đã có mặt trên 12 triệu website
1.1.2. Sử dụng PHP
a) Thẻ PHP
Có 4 loại khác nhau của thẻ PHP:
- Kiểu Short: là thẻ mặc định mà các nhà lập trình PHP thường sử dụng.
<? echo “Đây là kiểu Short”; ?>
- Kiểu định dạng XML: thẻ này có thể sử dụng với văn bản dạng XML.
<?php echo “Đây là kiểu định dạng với XML”; ?>
- Kiểu Script: trong trường hợp muốn sử dụng PHP như một script tương tự như
khai báo Javascript hay VBScript
<script language = ‘php’>

9


echo “PHP script”;
</script>

- Kiểu ASP:
<%
echo “Đây là kiểu ASP”;
%>
b) Gọi hàm trong PHP
Để gọi hàm trong PHP, khai báo tương tự như gọi hàm trong các ngôn ngữ lập
trình khác, hầu hết các hàm khi gọi cần truyền tham số và giá trị trả về.
VD: Gọi hàm date()
echo “Hôm nay là: ”.date(“d/m/Y”);
?>
c) Truy cập biến Form
Thông thường khi cần lấy dữ liệu của người dùng nhập, chúng ta sẽ dùng thẻ
form trong trang web nhằm ràng buộc tất cả các thẻ input, selec, textarea...
Dữ liệu đến từ script đều là biến PHP, chúng ta có thể nhận biết chúng bằng cách
sử dụng dấu $ trước tên biến. Có hai cách để truy cập dữ liệu trên form thông qua biến.
- Để lấy giá trị của các thẻ trong form theo dạng POST:
$_POST[‘tên_thẻ’]
- Để lấy giá trị của các thẻ trong form theo dạng GET: $_GET[‘tên_thẻ’]
d) Khai báo biến
PHP Engine không cần yêu cầu khai báo biến trước khi sử dụng, tuy nhiên nên
tập thói quen khai báo và khởi tạo giá trị ban đầu cho biến trước khi sử dụng chúng.
e) Gán giá trị cho biến

10


Để gán giá trị cho biến, nếu biến đó chưa khai báo trước đó, biến này được coi
như vừa khai báo và khởi tạo. Trong trường hợp biến đã khai báo, biến này chỉ thay
đổi giá trị.

VD: $qtty=20;
$price=10;
$total=$qtty*$price;
echo “Total: $total”;
?>
f) Kiểu dữ liệu của biến trong PHP
PHP hỗ trợ 5 kiểu dữ liệu
- Interger: Sử dụng hầu hết cho giá trị có kiểu dữ liệu là số.
- Double: Sử dụng hầu hết cho giá trị có kiểu dữ liệu là số thực.
- String: Sử dụng hầu hết cho giá trị có kiểu dữ liệu là chuỗi, ký tự.
- Array: Sử dụng hầu hết cho giá trị có kiểu dữ liệu là mảng có các phần tử cùng
kiểu dữ liệu.
- Object: Sử dụng hầu hết cho giá trị có kiểu dữ liệu là đối tượng của lớp.
g) Phát biểu có điều khiển
- Phát biểu If: Phát biểu if với một điều kiện, nếu điều kiện là true thì khối lệnh
trong phát biểu If sẽ được thực hiện, điều kiện được khai báo trong dấu ()
VD: $a = 10;
$b=6;
if($a>$b)
echo $a+$b;
Khối lệnh trong bất kỳ phát biểu điều khiển nào cũng có thể sử dụng dấu { và }. Có
nghĩa là nếu khối lệnh trong phát biểu lớn hơn 1 thì phải sử dụng hai dấu trên.
11


- Phát biểu Else: phát biểu else luôn là trường hợp ngược lại của phát biểu if với
một điều kiện, nếu điều kiện là true thì khối lệnh trong
phát biểu if sẽ được thực hiện, ngược lại khối lệnh trong phát biểu
else sẽ được thực hiện.

VD: $a = 10;
$b=6;
if($a>$b) echo $a+$b;
else
$b=$a+1;
Tương tự như trong trường hợp phát biểu if, nếu khối lệnh trong phát biểu điều
khiển else có hơn 1 dòng lệnh thì sẽ phải khai báo sử dụng dấu { và }.
- Phát biểu Switch: tương tự như phát biểu if, nhưng trong trường hợp có
nhiều hơn hai tùy chọn cụ thể cho phép quyết định. VD: switch($diem)
{
case “5”: echo “Điểm trung bình”;
break;
case “7”: echo “Điểm khá”;
break;
case “10”: echo “Điểm giỏi”;
break;
deafault: echo “Nhập lại”;
}
Nếu đúng điều kiện case, cần khai báo phát biểu break nhằm thoát ra khỏi phát
biểu switch. Trong trường hợp không khai báo break trong mỗi phát biểu case, nếu
thỏa mãn điều kiện trong case nhưng PHP vẫn tiếp tục thực hiện tiếp các phát biểu
case sau đó.
12


- Phát biểu While: phát biểu vòng lặp đơn giản nhất trong PHP là vòng lặp while
cho phép bạn thực thi khối lệnh trong while cho đến khi điều kiện của while là true
như cú pháp
While (điều kiện)
{

câu lệnh thực hiện;
}
- Phát biểu do ... while: tương tự như while nhưng kiểm tra điều kiện sau khi thực
hiện khối lệnh.
do
{
câu lệnh thực hiện;
}
while (điều kiện)
- Phát biểu vòng lặp for: tương tự như trong phát biểu while, có thể sử dụng vòng
lặp for với 1 giới hạn chỉ định.
for (giá trị khởi đầu; điều kiện giới hạn; giá trị lặp của vòng lặp for)
{
khối lệnh thực hiện;
}
h) Lưu trữ và truy vấn dữ liệu bằng PHP
- Mở file bằng PHP:
+ fopen(tên file, chế độ mở): mở file
+ puts(), fwrite(): ghi file
+ close(): Đóng file
+ feof(): Nhận giá trị true nếu con trỏ ở cuối file
13


+ file_exists(): Kiểm tra file có tồn tại
+ filesize(): kiểm tra dung lượng của file
- Thiết lập kết nối cơ sở dữ liệu
Để kết nối cơ sở dữ liệu MySQL, cần cung cấp tên Server hay IP (có thể là
localhost) của máy chứa cơ sở dữ liệu MySQL, Username và Password để đăng nhập
làm việc trên cơ sở dữ liệu được mở.

- Thiết lập kết nối:
Int mysql_pcconnect(“serverbname”, “username”, “password”);
if(!$db)
{
echo “Không kết nối được với CSDL”);
}
hoặc
$link = mysql_connect(“servername”, “username”, “password”)
or die(“Không kết nối được với CSDL”);
-

Mở một CSDL: mysql_select_db(“database name”); hoặc

mysql_select_db(“database name”, $link);
-

Đóng kết nối cơ sở dữ liệu: mysql_close(database_connection);

-

Truy vấn cơ sở dữ liệu:

Int mysql_query(string sql);
Int mysql_query(string sql, [int db_connect]);
Int mysql_query(string database, string sql, [int db_connect]);
Số lượng mẩu tin: mysql_num_rows(); Cho biết số lượng mẩu tin câu truy
vấn trả về
- Truy vấn dữ liệu:

14



Int mysql_fetch_array($result); Mysql_fetch_object($result);
- Dung lượng của tập mẩu tin: int mysql_free_result(int $result);
1.1.3. Ưu và ngôn ngữ nhược điểm của PHP
a. Ưu điểm
- Dùng mã nguồn mở
- Phổ biến hơn ASP (có thể thấy dựa vào số website dùng PHP)
- Tốc độ nhanh, dễ sử dụng
- Dựa vào XAMPP nên dễ cấu hình
- Nhiều hệ thống CMS miễn phí dùng
- Hỗ trợ kết nối nhiều hệ cơ sở dữ liệu: MySQL, MS SQL, Oracle…
- Chạy trên nhiều hệ diều hành
- Cộng đồng của PHP được coi là khá lớn và có chất lượng
- Thư viện phong phú
- Tính bảo mật khá an toàn
- Khả năng mở rộng cho PHP là không có giới hạn
- Luôn được cải tiến và cập nhật
b. Nhược điểm
- Mã nguồn không đẹp
- Chỉ chạy trên ứng dụng web
1.2. MYSQL
1.2.1. MySLQ là gì?
MySQL được phát triển và hỗ trợ bởi công ty MySQL AB của Thụy Điển. Nó
là hệ thống quản trị cơ sở dữ liệu (DBMS) cho các cơ sở dữ liệu quan hệ (vì vậy,
MySQL là một RDBMS). Cơ sở dữ liệu là một tập hợp các dữ liệu có liên quan với
nhau, có thể là văn bản, số hoặc các tập tin nhị phân được lưu trữ có tổ chức bởi
DBMS.
15



1.2.2. Đặc điểm của MySQL
MySQL là một phần mềm quản trị cơ sở dữ liệu 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 cơ sở dữ liệu, mỗi cơ sở dữ liệu 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 cơ sở dữ liệu 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 cơ sở dữ liệu.
Khi ta truy vấn tới cơ sở dữ liệu MySQL, ta phải cung cấp tên truy cập và mật
khẩu của tài khoản có quyền sử dụng cơ sở dữ liệu đó. Nếu không, chúng ta sẽ không
làm được gì cả.

16


1.2.3. Các kiểu dữ liệu trong cơ sở dữ liệu MySQL
a) Loại dữ liệu numeric
Loại

Range

Bytes

Diễn giải

Tinyint

-127 ->128 hay 0..255


1

Số nguyên rất nhỏ

Smallint

-32768 -> 32767 hay 0..65535

2

Số nguyên nhỏ

Mediumint

-8388608

838860

hay 3

Số nguyên vừa

Int

-231 -> 231 hay 0..232-1

4

Số nguyên


Bigint

-263 -> 263 hay 0..264-1

8

Số nguyên lớn

Float

Phụ thuộc số thập phân

->

0..16777215

Số thập phân dạng
Single hay Double

Float(M,D)

±1.175494351E-38

4

±3.40282346638

Số thập phân dạng
Single


Double(M,D) ±1.7976931348623157308
±2.2250738585072014E-308
Float(M[,D])

8

Số thập phân dạng
Double
Số chấm động lưu
dưới dạng char

17


b) Loại dữ liệu Date and Time
Loại

Range

Diễn giải

Date

1000-01-01

Date trình bày dưới dạng YYYY-mmdd

Time

00:00:00


Time trình bày dưới dạng hh:mm:ss

23:59:59
DateTime

1000-01-01

Date và Time trình bày dưới dạng

00:00:00

YYY-mm-dd hh:mm:ss

9999-12-31
TimeStamp[(M)]

Year[(2|4)]

23:59:59
1970-01-01

TimeStamp

00:00:00

YYYY-mm-dd hh:mm:ss

1970-2069


Year trình bày dưới dạng 2 số hay 4 số

1901-2155

Trình bày đại diện của TimeStamp
Loại

Hiển thị

TimeStamp

YYYYMMDDHHMMSS

TimeStamp(14)

YYYYMMDDHHMMSS

TimeStamp(12)

YYMMDDHHMMSS

TimeStamp(10)

YYMMDDHHMM

TimeStamp(8)

YYYYMMDD

18


trình

bày

dưới

dạng


TimeStamp(6)

YYMMDD

TimeStamp(4)

YYMM

(y = năm, m = tháng, d = ngày)
c) Loại dữ liệu String
Loại

Range

Diễn giải

Char

1-255 ký tự


Chiều dài của chuỗi lớn nhất 255 ký tự

Varchar

1-255 ký tự

Chiều dài của chuỗi lớn nhất 255 ký tự

Tinyblob

28-1

Khai báo cho Field chứa kiểu đối tượng
nhị phân cỡ 255 ký tự

Tinytext

28-1

Khai báo cho Field chứa kiểu chuỗi cỡ 255
ký tự

Blob

216-1

Khai báo cho Field chứa kiểu blob cỡ
65535 ký tự.

Text


216-1

Khai báo cho Field chứa kiểu chuỗi dạng
văn bản cỡ 65535 ký tự.

Text

216-1

Khai báo cho Field chứa kiểu chuỗi dạng
văn bản cỡ 65535 ký tự.

Mediumblob

224-1

Khai báo cho Field chứa kiểu blob.
Vừa khoảng 16777215 ký tự.

Mediumtext

224-1

Khai báo cho Field chứa kiểu chuỗi dạng
văn bản vừa kho ng 16777215 ký tự.

Longblob

232-1


Khai báo cho Field chứa kiểu blob

19


lớn khoảng 4294967295 ký tự.
Longtext

232-1

Khai báo cho Field chứa kiểu blob vừa
khoảng 4294967295 ký tự.

1.2.4. Phát biểu SQL
Tạo cơ sở dữ liệu:
Create Database <database_name> Create <object type>
<object_name>
Phát biểu SQL thao tác dữ liệu
-

SELECT (truy vấn mẩu tin)

-

INSERT (Thêm mẩu tin)

-

UPDATE (Cập nhật dữ liệu)


-

DELETE (Xóa mẩu tin)

a) Phát biểu Select
Select <danh sách cột> From <danh sách bảng>
Where <các điều kiện ràng buộc>
[Group by <tên cột/biểu thức trong Select>]
[Having <điều kiện bắt buộc của Group by>]
[Order by <danh sách cột>]
[Limit fromNumber | To Number]
b) Phát biểu Insert
Insert into <table_name> [<colum_name list>] Values (data_values)
c) Phát biểu Update
Update <table_name>
Set <column>=<value>, [<column>=<value>]

20


[where <restrictive conditions>]
d) Phát biểu Delete
Delete from <table_name> Where <condition>
Một số hàm thông dụng trong MySQL
+ Hàm AVG: Hàm trả về giá trị bình quân của cột hay trường trong câu truy vấn.
VD: select AVG(Amount) From tblOrder
+ Hàm MIN: Hàm trả về giá trị nhỏ nhất của cột hay trường trong câu truy vấn.
VD: select MIN(Amount) From tblOrder
+ Hàm MAX: : Hàm trả về giá trị lớn nhất của cột hay trường trong câu truy vấn.

VD: select MAX(Amount) From tblOrder
+ Hàm Count: Hàm trả về số lượng mẩu tin trong câu truy vấn.
VD: select Count(*) From tblOrder
+ Hàm Sum: Hàm trả về tống các giá trị của trường, cột trong câu truy vấn.
VD: select SUM(Amount) From tblOrder
+ Hàm CurDate(): hàm trả về ngày, tháng, năm hiện hành của hệ thống.
VD: select curdate() as ‘Ngay hien tai’
Hàm CurTime(): Hàm trả về giờ phút giây hiện hành của hệ thống.
VD: select curtime() as ‘Thoi gian
1.2.5. Ưu và nhược điểm của MySQL
a. Ưu điểm
 MySQL là hệ quản trị cơ sở dữ liệu có tốc độ nhanh đáng tin cậy có thể hoạt
động trên nhiều hệ thống.
 MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở miễn phí, kích thước nhỏ.
 Nhờ đội ngũ phát triển năng động, tích cực, các phiên bản Mysql ngày càng
hoàn thiện bổ sung nhiều chức năng mới.

21


b. Nhược điểm
 MySQL hoạt động tốt đối với những cơ sở dữ liệu vừa và nhỏ nhưng chưa hỗ
trợ tốt cho các cơ sở dữ liệu có kích thước lớn.
Trong các phiên bản trước phiên bản 5.0 MySQL không hỗ trợ role commit và
stored procedure.
 Các giao dịch (transaction) khi xử lí vẫn còn gặp sai sót.
1.3. Tổng quan về UML
1.3.1. Giới thiệu mô hình hóa thống nhất UML (Unified Modeling Language)
UML là ngôn ngữ mô hình hợp nhất, nó được hiểu như một ngôn ngữ thống nhất
những xu hướng và hình thái của cuộc cách mạng tri thức trong lĩnh vực công nghệ

thông tin. Nó là một phương tiện giúp cho các tổ chức có thể nhận thức một cách tốt
nhất lợi thế cạnh tranh thông qua việc nắm bắt, truyền đạt, trao đổi và nâng cao tri thức
trong lĩnh vực công nghệ phần mềm. UML là ngôn ngữ đồ họa với các tập quy tắc và
ngữ nghĩa.
1.3.2. Mục đích của UML
 Mô hình hóa các hệ thống và sử dụng các khái niệm hướng đối tượng một cách
thống nhất
 Cho phép đặc tả, hỗ trợ đặc tả tường minh mối quan hệ giữa các khái niệm
trong hệ thống, đồng thời mô tả được mọi trạng thái hoạt động (tĩnh và động) của hệ
thống
 Hỗ trợ khả năng sử dụng lại và kế thừa ở phạm vi rộng để xây dựng những hệ
thống phức tạp và nhạy cảm như: hệ thống tự động, hệ thống thời gian thực
 Tạo ra ngôn ngữ mô hình hóa sử dụng được cho cả người và máy tính
1.3.3. Công dụng của UML
 UML là ngôn ngữ chuẩn để viết kế hoạch chi tiết phần mềm
 Vạch ra cho hệ thống những chức năng chính của nó sử dụng các mô hình tình
huống sử dụng và các tác nhân

22


 Minh họa các use case bằng các biểu đồ tương tác
 Mô tả cấu trúc tĩnh của một hệ thống sử dụng các biểu đồ lớp
 Mô hình hóa hóa trạng thái của đối tượng bằng các biểu đồ chuyển tiếp trạng
thái
 Minh họa cấu trúc thi hành vật lý bằng các biểu đồ thành phần và triển khai.
Mở rộng chức năng bằng các mầu cung cấp sẵn
1.3.4. Các đặc trưng và khả năng của UML
- UML là ngôn ngữ mô hình đồ họa
Ngôn ngữ cung cấp bảng từ vựng và tập các quy tắc để kết hợp các từ trong bảng

từ vựng để giao tiếp. Ngôn ngữ mô hình là ngôn ngữ có từ vựng và quy tắc tập trung
vào các biểu diễn về mặt vật lý và khái niệm của hệ thống. UML là ngôn ngữ chuẩn
công nghiệp để lập kế hoạch chi tiết phần mềm
Ngôn ngữ phải cho phép biểu diễn nhiều khung nhìn khác nhau của kiến trúc hệ
thống trong suốt quá trình phát triển phần mềm. Từ vựng và quy tắc ngôn ngữ UML
cho ta cách thức xây dựng mô hình và đọc mô hình, nhưng không cho biết mô hình
nào cần phải được lập và khi nào lập chúng mà phải dựa vào quy trình phát triển phần
mềm. Các biểu diễn mô hình trong UML là các biểu diễn bằng đồ họa
- UML là ngôn ngữ dặc tả có cấu trúc
Đặc tả là xây dựng mô hình chính xác, rõ ràng, không nhập nhằng hoàn thiện và
đầy đủ những điểm mấu chốt của vấn đề. UML hướng tới đặc tả thiết kế, phân tích và
quyết định cài đặt trong quá trình phát triển và triển khai hệ thống phần mềm
- UML là ngôn ngữ trực quan
Bằng hệ thống các kí hiệu đồ họa và các biểu đồ với các chú giải đi kèm, UML
cho ta hình dung được hệ thống đang cần xây dựng từ nhiều góc độ khác nhau
- UML là ngôn ngữ làm tài liệu
UML hướng tới làm tài liệu kiến trúc hệ thống và các chi tiết của nó. UML cho
khả năng biểu diễn yêu cầu, thử nghiệm, mô hình hóa các hoạt động lập kế hoạch và
quản lý sản phẩm.
23


 Thông qua UC biểu đồ trường hợp sử dụng, tác nhân để biết giới hạn và các
chức năng chính của hệ thống
 Trong UML UC được miêu tả bằng biểu đồ logic. Sử dụng biểu đồ UC, tác
nhân có thể chia dự án thành các dự án nhỏ có thể quane lý được. Nhìn vào biểu đồ đó
và các tài liệu mô tả, người phân tích có thể biết hệ thống có khả năng làm gì.
 Biểu diễn cấu trúc tĩnh của hệ thống bằng biểu đồ lớp. Sử dụng biểu đồ trình tự
và cộng tác để thấy được trình tự và logic toàn bộ hệ thống và các thông báo giữa các
đối tượng

 Mô hình hóa các hành vi đối tượng bằng biểu đồ chuyển trạng thái
 Phản ánh kiến trúc cài đặt vật lý bằng biểu đồ thành phần và biểu đồ triển khai
 Mở rộng chức năng bằng stereotypes
1.3.5. Mô hình khái niệm của UML
Để hiểu, đọc được UML và tạo ra một số mô hình cơ bản ta phải hình dung được
mô hình khái niệm của ngôn ngữ. Muốn vậy đòi hỏi chúng ta phải nắm bắt được ba
vấn đề chính bao gồm:
 Các khối cơ bản để xây dựng mô hình
 Các quy tắc liên kết
 Các cơ chế chung được sử dụng cho ngôn ngữ
1.3.6. Các khối cơ bản xây dựng mô hình
Các khối để hình thành mô hình UML gồm 3 loại:
-

Phần tử

-

Quan hệ

-

Biểu đồ

Phần tử trong mô hình là căn bản, các quan hệ gắn các phần tử lại với nhau, còn
biểu đồ nhóm tập hợp các phần tử. Trong UML có 4 loại phần tử mô hình đó là cấu
trúc, hành vi, nhóm và chú thích

24



 Phần tử cấu trúc
Phần tử cấu trúc là các danh từ trong mô hình UML, là bộ phận tĩnh của mô hình
để biểu diễn các thành phần khái niệm hay vật lý
- Lớp
Lớp là mô tả tập các đối tượng cùng chung thuộc tính, thao tác, quan hệ và ngữ
nghĩa. Một lớp cài đặt một hay nhiều mô hình ghép nối, biểu diễn bằng hình chữ nhật
có 3 phần tên, thuộc tính và thao tác

Tên lớp
Thuộc tính
Thao tác
Open()
Close()

- Giao diện
Giao diện là một tập hợp cá thao tác đặc tả một dịch vụ của lớp hay thành phần.
Giao diện mô tả hành vi thấy được từ ngoài của thành phần. Biểu diễn toàn bộ hay một
phần hành vi của lớp và được gắn thẻ vào lớp hay thành phần thực hiện.

- Cộng tác
Sự cộng tác định nghĩa một tương tác và một bộ các nguyên tắc và các phần tử
khác làm việc cùng nhau để tạo ra một hành vi cộng tác lớn hơn tổng hành vi của các
phần tử.
- Ca sử dụng

25



×