-Lệnh HAVINGSUM(column) condition value
Từkhóa HAVING được thêm vào SQL vì từkhóa WHERE không thểdùng với các
hàm tổng (nhưhàm SUM).
Thiếu từkhóa HAVING sẽkhông thểkiểm tra các điều kiện dùng hàm tổng.
Cú pháp của HAVING : SELECT column,SUM(column) FROM table
GROUP BY column
HAVING SUM(column) condition value
-Lệnh Alter Table phát biểu ALTER TABLE dùng đểthêm hay loại bỏcác cột trong
một bảng cho trước.
ALTER TABLE table_name
ADD column_name datatype
ALTER TABLE table_name
DROP column_name
86 trang |
Chia sẻ: lylyngoc | Lượt xem: 2792 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Báo cáo Phân tích thiết kế hệ thống thông tin quản lý thiết bị và lập lịch bảo trì, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
iện :
THIET_BI[MA_THIET_BI], CUM_CHI_TIET[MA_THIET_BI] :
CUM_CHI_TIET[MA_THIET_BI] ⊆ THIET_BI[MA_THIET_BI]
Tầm ảnh hưởng :
R22 Thêm Xóa Sửa
CUM_CHI_TIET +[MA_THIET_BI] - +
THIET_BI - + +
41
R23 : MA_NCC trong thực thể THIET_BI là khóa ngoại tham chiếu từ bảng
NHA_CUNG_CAP.
Bối cảnh : NHA_CUNG_CAP,THIET_BI
Điều kiện :
NHA_CUNG_CAP[MA_NCC], THIET_BI[MA_NCC] :
THIET_BI[MA_NCC] ⊆ NHA_CUNG_CAP[MA_NCC]
Tầm ảnh hưởng :
R23 Thêm Xóa Sửa
THIET_BI +[MA_NCC] - +
NHA_CUNG_CAP - + +
R24 : MA_TO trong thực thể CONG_VIEC là khóa ngoại tham chiếu từ bảng
TO_THUC_HIEN.
Bối cảnh : TO_THUC_HIEN, CONG_VIEC
Điều kiện :
TO_THUC_HIEN[MA_TO], CONG_VIEC[MA_TO] :
CONG_VIEC[MA_TO] ⊆ TO_THUC_HIEN[MA_TO]
Tầm ảnh hưởng :
R24 Thêm Xóa Sửa
CONG_VIEC +[MA_TO] - +
TO_THUC_HIEN - + +
42
R25 : MA_THIET_BI trong PHIEU_THEO_DOI là khóa ngoại tham chiếu từ
bảng THIET_BI.
Bối cảnh : THIET_BI, PHIEU_THEO_DOI
Điều kiện :
THIET_BI[MA_THIET_BI], PHIEU_THEO_DOI[MA_THIET_BI] :
PHIEU_THEO_DOI[MA_THIET_BI] ⊆ THIET_BI[MA_THIET_BI]
Tầm ảnh hưởng :
R25 Thêm Xóa Sửa
PHIEU_THEO_DO
I
+[MA_THIET_B
I]
- +
THIET_BI - + +
R26 : : MA_THIET_BI trong PHIEU_BAO_TRI là khóa ngoại tham chiếu từ
bảng THIET_BI.
Bối cảnh : THIET_BI, PHIEU_BAO_TRI
Điều kiện :
THIET_BI[MA_THIET_BI], PHIEU_BAO_TRI[MA_THIET_BI] :
PHIEU_BAO_TRI[MA_THIET_BI] ⊆ THIET_BI[MA_THIET_BI]
Tầm ảnh hưởng :
R26 Thêm Xóa Sửa
PHIEU_BAO_TRI
+[MA_THIET_B
I]
- +
THIET_BI - + +
43
R27 : MA_CCT, MA_CV trong thực thể CCT_CONG_VIEC là khóa chính tham
chiếu từ bảng CUM_CHI_TIET và bảng CONG_VIEC.
Bối cảnh : CCT_CONG_VIEC, CUM_CHI_TIET, CONG_VIEC
Điều kiện :
CCT_CONG_VIEC [MA_CCT,MA_CV] , CUM_CHI_TIET [MA_CCT],
CONG_VIEC [MA_CV]
CCT_CONG_VIEC[MA_CCT] ⊆ CUM_CHI_TIET[MA_CCT] OR
CCT_CONG_VIEC[MA_CV] ⊆ CONG_VIEC [MA_CV]
Tầm ảnh hưởng :
R27 Thêm Xóa Sửa
CCT_CONG_VIEC +[MA_CCT,MA_CV] - +
CUM_CHI_TIET - + +
CONG_VIEC - + +
R28: MA_PHIEU_TD, MA_CCT, MA_CV trong thực thể
PHIEU_BT_CCT_CV là khóa chính tham chiếu từ các bảng
PHIEU_BAO_TRI, CUM_CHI_TIET, CONG_VIEC.
Bối cảnh : PHIEU_BT_CCT_CV, PHIEU_BAO_TRI, CUM_CHI_TIET,
CONG_VIEC.
Điều kiện :
PHIEU_BT_CCT_CV[MA_PHIEU_BT, MA_CCT, MA_CV] ,
CUM_CHI_TIET[ MA_CCT], CONG_VIEC[MA_CV],
PHIEU_BT[MA_PHIEU_BT] :
PHIEU_BT_CCT_CV[MA_PHIEU_BT] ⊆
PHIEU_BAO_TRI[MA_PHIEU_BT] OR
44
PHIEU_BT_CCT_CV[MA_CCT] ⊆ CUM_CHI_TIET[MA_CCT] OR
PHIEU_BT_CCT_CV[MA_CV] ⊆ CONG_VIEC[MA_CV] .
R28 Thêm Xóa Sửa
PHIEU_BT_CCT_
CV
+[MA_PHIEU_BT,
MA_CCT, MA_CV]
- +
CUM_CHI_TIET - + +
CONG_VIEC - + +
PHIEU_BAO_TRI - + +
III. Mô hình dòng dữ liệu( DFD) :
Mức 0 :
:
45
Mức 1 :
46
47
48
CHƯƠNG III : GIẢI QUYẾT BÀI TOÁN
1. Bài toán lập lịch bảo trì :
Các loại thiết bị bảo trì theo giờ đều được gắn đồng hồ để đo chỉ số , từ đó xác
định được tần suất hoạt động.
Công thức tính toán để xác định trạng thái bảo trì TRUE hoặc FALSE đối với một
thiết bị bao gồm các thống số sau :
-Chỉ số đồng hồ hiện tại : Chính là số giờ chạy của máy được ghi tại một thời điểm
cần kiểm tra trạng thái bảo trì.
-Chỉ số đồng hồ lần trước : Lưu lại chỉ số giờ chạy của máy lần gần đây nhất.
- Mốc định kỳ : Là chỉ số giờ chạy được dự tính sẽ bảo trì cho máy. Đối với một
thiết bị khi mua về sẽ được các kỹ sư phụ trách bảo trì thiết lập cho một mốc định kỳ
đầu tiền, gọi là số giờ dự tính sẽ bảo trì.
-Định kỳ : Là số giờ mà máy cần phải ngưng để tiến hành công tác bảo trì. Mỗi
máy được thiết lập một định kỳ sẵn, có thể do nhà sản xuất hoặc do kỹ sư phụ trách
bảo trì thiết lập.
Sau đây là ví dụ minh họa đối với một máy bảo trì theo công thức trên :
Giả sử có một thiết bị A được mua về, chỉ số đồng hồ hiện tại của máy 0032. Định
kỳ của máy là 1000 giờ. Kỹ sư sẽ thiết lập mốc định kỳ đầu tiên, tức thiết lập chỉ số
đạt được cần phải ngưng để bảo trì là 1000 giờ.
Chỉ số nhập để kiểm
tra tại một thời điểm :
0573
Chỉ số lần
trước : 0032
Mốc định
kỳ : 1000
49
Ta sẽ công thức tính như sau :
Gọi P là chỉ số kết quả kiểm tra, M là mốc định kỳ , DK là định kỳ của máy, L là
chỉ số nhập tại một thời điểm cần kiểm tra, T là trạng thái bảo trì.
P = ( M – L )
Nếu P > DK/2 thì T = FALSE ( Chưa cần bảo trì )
Nếu P <= DK/2 thì T = TRUE ( Đã đến lúc cần bảo trì)
Nếu T = TRUE thì M = M + DK
Áp dụng cho các thông số ở ví dụ ta có :
P = ( M – L) = ( 1000 – 573) = 427
DK/2 = 1000/2 = 500
P = 427 T = TRUE , thiết bị này đã đến lúc cần bảo trì.
M = M + DK = 1000 + 1000 = 2000
Như vậy mốc định kỳ dự tính bảo trì ở lần kế tiếp là 2000.
Đối với thiết bị bảo trì theo tháng, cần lập ra danh sách công việc cho từng cụm
chi tiết của thiết bị theo các định kỳ định sẵn.
2. Hướng giải quyết :
Lập lịch bảo trì theo từng tháng cho các thiết bị. Hướng giải quyết cho các thiết bị
bảo trì theo giờ như sau :
- Xuất ra những thiết bị có trạng thái cần bảo trì và có thời gian lập phiếu nằm
trong tháng bảo trì..
- Xuất ra tất cả các công việc bảo trì của tất cả các cụm chi tiết thuộc thiết bị
đó.
- Xuất ra các công việc theo từng định kỳ đối với mỗi cụm chi tiết thuộc một
thiết bị.
50
CHƯƠNG IV : KẾT QUẢ THỰC NGHIỆM
I. Giao diện và chức năng của chương trình.
-Chương trình được xây dựng dựa trên công cụ Microsoft Visual C# và Microsoft
SQL.
-Thích ứng với các hệ điều hành : Win2000/XP/Vista.
Giao diện các Form trong chương trình :
Form Đăng nhập :
-Chức năng : Đăng nhập vào form chính của chương trình. Hệ thống sẽ kiểm tra
bảng tài khoản, nếu người dùng không có tài khoản thì sẽ không sử dụng được
chương trình.
51
Form Chức năng :
-Đây là form giao diện chính của toàn bộ chương trình.
Danh mục bao gồm việc Quản lý dữ liệu cho các bảng : Quản lý thông tin khu vực
, thông tin dây chuyền sản xuất , thông tin thiết bị , thông tin chi tiết các công việc.
Bảo trì bao gồm các chức năng bảo trì theo giờ , quản lý thiết bị , lập phiếu bảo trì.
Khu vực ngoài quản lý thông tin của tổ thực hiện bảo trì và thông tin của nhà cung
cấp thiết bị.
Tài khoản có chức năng quản lý thông tin tài khoản của người dùng.
Báo cáo bao gồm các danh sách cung cấp thông tin cho việc lập kế hoạch các công
việc bảo trì cho máy móc thiết bị nhà máy.
Thoát : Thoát khỏi chương trình quản lý.
52
Form Khu Vực :
Các thông tin cho người dung biết trong form bao gồm : Tên các khu vực trong
nhà máy.
Chức năng :
-Thêm một khu vực mới.
-Chỉnh sửa tên khu vực.
-Xóa bỏ một khu vực.
-Thoát : thoát khỏi form đang sử dụng.
53
Form Dây chuyền sản xuất :
Các thông tin cho người dung biết trong form bao gồm : Tên dây chuyền và khu
vực dây chuyền đang hoạt động.
Chức năng :
- Thêm một dây chuyền mới.
-Chỉnh sửa tên dây chuyền, thay đổi khu vực hoạt động của dây chuyền.
-Xóa bỏ một dây chuyền.
-Thoát : thoát khỏi form đang sử dụng.
54
Form Thiết bị :
Các thông tin trong form bao gồm : Tên thiết bị , tên nhà cung cấp , tên dây
chuyền mà thiết bị hiện đang hoạt động tại đó , kiểu bảo trì cho thiết bị , định kỳ bảo
trì.
Chức năng :
-Thêm một thiết bị mới vào một dây chuyền sản xuất.
-Xóa thiết bị ra khỏi dây chuyền sản xuất.
-Sửa thông tin của thiết bị như : nhà cung cấp thiết bị , kiểu bảo trì , định kỳ bảo
trì.
-Xem : in ra nội dung danh sách thiết bị theo từng dây chuyền sản xuất.
-Thoát : thoát khỏi form đang sử dụng.
55
Form Công Việc :
Các thông tin trong form bao gồm : Tên công việc bảo trì cho thiết bị và cụm chi
tiết của thiết bị, tên tổ phụ trách công việc đó.
Chức năng :
-Thêm một công việc mới cho một tổ phụ trách.
-Xóa bỏ công việc khi không còn phù hợp trong công tác lên kế hoạch bảo trì cho
thiết bị của nhà máy.
-Chỉnh sửa thông tin công việc cho phù hợp với từng cụm chi tiết hoặc cho phù
hợp với chuyên môn của từng tổ phụ trách.
-Thoát : thoát khỏi form đang sử dụng.
56
Form Bảo trì thiết bị theo giờ :
Các thông tin trong form bao gồm : Tên thiết bị, chỉ số đồng hồ lần gần nhất (lần
trước) , chỉ số đồng hồ cần nhập để kiểm tra (lần hiện tại), tuần suất bảo trì (định kỳ
bảo trì của thiết bị) , ngày ghi lưu thời điểm lập phiếu theo dõi, mốc định kỳ dự định
bảo trì lần kế tiếp.
Chức năng :
-Kiểm tra : Dữ liệu nhập vào sẽ được tính toán và xuất ra thông tin cho người dùng
biết thiết bị đó đã đến thời hạn bảo trì hay chưa ( dựa vào trạng thái true hay false),
đồng thời lưu thông tin vào phiếu theo dõi tại thời điểm đó.
Nếu thông tin của thiết bị trả ra giá trị true, tức là thiết bị đã đến thời hạn cần bảo
trì, trên giao diện sẽ xuất hiện nút chức năng lập bảo trì. Khi người dùng muốn lập
phiếu bảo trì thì phải bấm vào nút này để thông báo cho hệ thống biết và tự động lưu
thông tin vào phiếu bảo trì.
-Xóa : xóa một dòng dữ liệu khi người dùng vô tình nhập sai chỉ số đồng hồ. Khi
đó chương trình sẽ xóa bỏ dòng dữ liệu vừa nhập và cho phép người dùng nhập lại chỉ
số đồng hồ.
-Thoát : thoát khỏi form đang sử dụng.
57
Form Quản lý thiết bị theo tháng :
Form cung cấp những thông tin cho người dùng biết bao gồm : Tên thiết bị, tên
cụm chi tiết của thiết bị đó, và một danh sách công việc kèm theo cho các cụm chi tiết
theo từng thiết bị.
Các chức năng của from :
-Cho phép người dùng chọn thiết bị bằng cách click chọn tên thiết bị trên danh
sách thiết bị nằm phía bên trái của form. Mỗi khi form được kích hoạt, hệ thống sẽ tự
động xuất dữ liệu danh sách thiết bị theo kiểu bảo trì ứng với nút chọn ở phía bên trái
gần danh sách thiết bị.
-Khi người dùng đã chọn một thiết bị, hệ thống sẽ tự động load lên danh sách cụm
chi tiết của thiết bị đó đang có, đồng thời sẽ load danh sách các công việc ứng với một
cụm chi tiết của thiết bi.
-Người dùng có thể thay đổi danh sách các cụm chi tiết ứng với thiết bị được chọn
bằng cách click vào nút thêm/sửa/xóa cụm chi tiết. Khi đó hệ thống sẽ kích hoạt form
cụm chi tiết cho người dùng chọn.
58
Form Cụm Chi Tiết :
Form cung cấp thông tin cho người dùng biết bao gồm : Tên cụm chi tiết của thiết
bị nào đó. Tên thiết bị được chọn để thực hiện thay đổi danh sách cụm chi tiết cho
thiết bị đó.
Chức năng của form:
-Thêm danh sách một cụm chi tiết cho thiết bị
-Xóa : cụm chi tiết ra khỏi thiết bị, khi cụm chi tiết không còn sử dụng hiệu quả
hay bị hư hao trong quá trình hoạt động.
-Sửa : thay đổi thông tin của cụm chi tiết
-Thoát : khi người dùng click nút thoát hệ thống sẽ tự động kích hoạt form quản lý
thiết bị và cập nhật thông tin mà người dùng đã thay đổi. đồng thời thoát khỏi form
cụm chi tiết.
59
Quay trở lại với form quản lý thiết bị:
Người dùng có thể xem danh sách thiết bị theo giờ bằng cách kích hoạt hệ thống
khi nhấn thay đổi nút chọn ở phía danh sách thiết bị.
-Các chức năng khi thêm công việc cho từng cụm chi tiết hay thêm cụm chi tiết
cho thiết bị đều được hệ thống xử lý giống như trên.
-Để thay đổi công việc cho từng cụm chi tiết người dùng có thể chọn một cụm chi
tiết nào đó và click nút thêm/xóa công việc. Khi đó hệ thống sẽ tự động kích hoạt
form Chọn công việc cho cụm chi tiết.
-Đối với danh sách thiết bị bảo trì theo giờ hệ thống sẽ tự động lấy chu kỳ thời
gian cho phép của thiết bị mà thiết lập định kỳ bảo trì cho các công việc được thêm
vào từng cụm chi tiết.
60
Form chọn công việc :
Form cung cấp thông tin cho người dùng biết bao gồm : danh sách các công việc
hiện có, thông tin của cụm chi tiết được chọn để thêm công việc, định kỳ của công
việc, và ngày áp dụng để thực hiện.
Chức năng của form :
-Xóa CV Cụm chi tiết : khi click nút này hệ thống sẽ tải danh sách công việc hiện
có của cụm chi tiết này. Người dùng có thể chọn tên từng công việc và thay đổi nó
như : người dùng có thể xóa, Thay đổi định kỳ công việc cho phù hợp với kế hoạch
bảo trì ( chỉ áp dụng cho những thiết bị bảo trì theo tháng).
-Tạo mới : Khi click nút tạo mới hệ thống sẽ kích hoạt form công việc cho người
dùng thực hiện thay đổi công việc hay xóa…..
61
-Chọn: khi muốn áp dụng một công việc trên danh sách hiện có người dùng chỉ
cần click nút chọn.
-Không chọn : khi được click sẽ tự động trở về form quản lý thiết bị, đồng thời cập
nhật lại thông tin công việc cho cụm chi tiết.
Form Tổ Thực Hiện :
Form cung cấp thông tin danh sách các tổ phụ trách bảo trì.
Chức năng :
-Thêm một tổ mới để phụ trách các công việc tùy theo chức năng của tổ.
-Xóa bỏ một tổ phụ trách công việc không cần thiết nữa.
-Chỉnh sửa tên tổ phụ trách nếu có sai sót về chức năng của tổ.
-Thoát : thoát khỏi form đang sử dụng
62
Form Nhà Cung Cấp :
Form cung cấp thông tin cho người dùng bao gồm : tên các nhà cung cấp, sản
xuất thiết bị cho nhà máy, địa chỉ cụ thể của từng nhà cung cấp để có thể thuận tiện
liên lạc khi cần thiết.
Chức năng :
-Thêm một nhà cung cấp mới vào hệ thống danh sách các nhà cung cấp thiết bị
của nhà máy.
-Xóa bỏ nhà cung cấp khi không còn sử dụng thiết bị của nhà cung cấp đó nữa.
-Chỉnh sửa thông tin nhà cung cấp khi có sai sót về tên hoặc địa chỉ của nhà cung
cấp, cập nhật chỉnh sửa số điện thoại, mail, …
-Xem : In ra danh sách các nhà cung cấp thiết bị cho nhà máy.
-Thoát : thoát khỏi form đang sử dụng.
63
Form Phiếu Bảo Trì :
Form phiếu bảo trì có hai tùy chọn : Xuất ra danh sách thiết bị bảo trì trong tháng
và xuất ra danh sách chi tiết công việc cho thiết bị.
Khi người dùng chọn mục “Danh sách thiết bị bảo trì trong tháng” , combobox lựa
chọn thiết bị cụ thể sẽ bị bôi mờ. Người dụng chọn tháng/năm để hệ thống tìm kiếm
và xuất ra danh sách các thiết bị đã được lập lịch bảo trì trong tháng/năm đó.
Khi người dụng chọn mục “Chi tiết công việc cho thiết bị”, combobox chọn thiết
bị sẽ hiện ra cho người dùng chọn thiết bị cần xem chi tiết công việc. Người dùng
cũng cần phải chọn tháng/năm để hệ thống tìm kiếm và xuất ra danh sách công việc
bảo trì cụ thể cho thiết bị đó nếu tìm thấy dữ liệu phù hợp trong phiếu bảo trì.
-Chức năng xem để người dùng có thể xem thông tin trực tiếp ngay bên khung bên
dưới của giao diện form.
64
-Chức năng in để hệ thống xuất ra file dạng báo cáo khi người dùng cần thiết phải
lập hồ sơ báo cáo lên cấp trên hoặc đưa xuống cho tổ phụ trách bảo trì.
Form Tài Khoản :
.
Form quản lý thông tin tài khoản của người sử dụng chương trình quản lý. Phần
danh sách tài khoản chỉ hiện tên tài khoản và ẩn đi phần mật khẩu để bảo mật thông
tin tài khoản cho người dùng.
Chức năng :
-Thêm một tài khoản mới.
-Sửa lại tên hoặc mật khẩu của tài khoản. Khi làm việc này sẽ cần thao tác nhập lại
mật khẩu.
-Xóa một tài khoản sử dụng khỏi hệ thống.
-Thoát : thoát khỏi form đang sử dụng.
65
Một số mẫu báo cáo trong chương trình :
-Danh sách các nhà cung cấp thiết bị cho nhà máy :
66
-Danh sách các thiết bị được sắp xếp theo từng dây chuyền sản xuất riêng biệt ,
bao gồm các thông tin như tên thiết bị, kiểu bảo trì, định kỳ , nhà cung cấp.
67
-Danh sách nội dung chi tiết công việc bảo trì cho từng thiết bị, bao gồm tên của
từng thiết bị, kiểu bảo trì của thiết bị, định kỳ cụ thể của từng công việc bảo trì , tổ
phụ trách bảo trì.
-Dựa vào nội dung chi tiết này , hệ thống sẽ xuất lịch bảo trì cho từng thiết bị cũng
như cho toàn bộ các thiết bị khi cần lập lịch bảo trì trong tháng/năm.
68
Danh sách các thiết bị được bảo trì trong tháng/năm :
Khi người dùng chọn tháng/năm và bấm nút in ở phiếu bảo trì, danh sách các thiết
bị được bảo trì trong tháng sẽ được xuất ra dưới dạng báo cáo :
Phiếu này sẽ được có tác dụng bàn giao danh sách các thiết bị cần bảo trì trong
tháng. Phiếu sẽ được ký giữa hai bên giao và nhận. Bên giao là ban kỹ thuật nhà máy,
bên nhận là tổ phụ trách bảo trì.
Trong phiếu còn có hai cột ngày giao và ngày trả để xác định rõ thời gian bàn
giao.
69
Danh sách công việc cụ thể cho từng thiết bị cần bảo trì trong tháng/năm.
Nội dung phiếu bao gồm : mô tả chi tiết công việc cho từng cụm chi tiết của một
thiết bị cụ thể theo lịch bảo trì.
Trong phiếu có ghi rõ ngày bắt đầu và ngày kết thúc bảo trì. Đơn vị thực hiện, kết
quả thực hiện, công việc phát sinh (nếu có) , ký tên.
Dựa vào thông tin chi tiết của phiếu cho từng thiết bị , hệ thống sẽ lập ra một lịch
bảo trì cho toàn bộ các thiết bị của nhà máy theo tháng/năm.
70
II. Giới thiệu công cụ thực hiện :
1. Giới thiệu sơ lược VISUAL STUDIO.NET :
1.1 Tổng quan về ASP.NET :
Hệ điều hành được Microsoft xem là tập hợp bao gồm nhiều đối tượng hoạt động
tương tác lẫn nhau.Chương trình của bạn là một đối tượng .Microsoft gọi mô hình này
với tên gọi khá phổ biến là COM (Component Object Model).Tất cả mọi thứ đều quy
về đối tượng với phương thức ,thuộc tính và dịch vụ mà đối tượng có thể cung
cấp.Phát triển hơn nữa gicrosoft mở rông COM thành kiến trúc COM+ cho phép các
đối tượng COM mở rộng giao tiếp với nhau trên mọi nền Windows ,máy
chủ(server),máy khách (client) đâu đâu cũng là các thành phần đối tượng có thể giao
tiếp và triệu gọi xuyên suốt.
Với sự bùng nổ Internet,Microsoft một lần nữa lại đưa mô hình kiến trúc COM+
thành mô hình đối tượng cao hơn ảnh hưởng đến toàn bộ hệ điều hành.Kiến trúc này
mang khung dịch vụ web kế tiếp-Next Generation Web Service Framwork hay
NGWSG.Tuy mang tên Web nhưng thực tế kiến trúc này đã ăn sâu vào hệ điều
hành.NGWSF bổ sung các dịch vụ mới cho các đối tượng ứng dụng phân tán COM+
bao gồm :
-Một tập các thư viện lập trình phong phú và thống nhất.
-Bộ thực thi chương trình đa ngôn ngữ.
-Đơn giản hóa quá trình tạo lập,phân phối và bảo trì ứng dụng.
-Tăng tính mềm dẻo và khả chuyển cho các ứng dụng phân tán.
-Bảo vệ các phầm mềm hiện có và giảm đầu tư về đào tạo.
Kiến trúc NGWSF hoàn chỉnh mọi kiểu ứng dụng từ đóng gói,phát triển bảo
trì,kiểm tra các ứng dụng trên trình khác (client) cho đến các ứng dụng phân tán phức
tạp trên trình chủ(server).Toàn bộ khái niệm NGWSF là một phần dực trên ý tưởng và
nền tảng của kiến trúc “Ứng dụng Internet phân tán” (DNA-Distributed Internet
Application)
71
Bộ khung NGWSF không đơn thuần chỉ dành riêng cho ASP.NET mà nó ảnh
hưởng đến tất cả các ứng dụng chạy trên Windows trong tương lai.Bộ khung thực
thi(runtime framework) được Windows kiểm soát trên toàn bộ hệ điều hành đối với
mọi ứng dụng trong đó ASP.NET chỉ là một bộ phận.
Khung làm việc NGWSF cung cấp bộ máy thực thi mã lệnh (execute engine) cùng
với tập hợp các lớp hay thành phần hướng đối tượng có thể sử dụng để tạo nên ứng
dụng.Bộ khung này làm việc như là lớp giao tiếp giữa ứng dụng và hạt nhân của hệ
điều hành.Tầng trung gian này sẽ cho phép các ứng dụng sử dụng tốt hơn các ưu điểm
của hệ điều hành,đơn giản hóa quá trình phát triển và phân phối ứng dụng trong môi
trường thương mại đầy cạnh tranh hiện nay.
Để đạt mục đích này,bộ khung thực thi runtime của NGWSF đã cài đặt rất nhiều
đặc điểm mà lập trình viên hay một môi trường lập trình cụ thể nào đó phải tự cài đặt
trước đây.Bộ khung này cung cấp các cơ chế như:Tự động thu gom rác bộ nhớ
(garbage collector),tập các đối tượng đầy đủ những chức năng phục vụ cho những
công việc lập trình thông thường nhất.Tăng khả năng bảo mật và an toàn cho ứng
dụng.Chức năng bảo mật sau cùng rất quan trọng ,nhất là đối với các chương trình mở
rộng triệu gọi thông qua mạng Internet như ngày nay
Một trong những ưu điểm nổi bật của bộ khung thực thi cung cấp cho bạn môi
trường thực thi trung lập về ngôn ngữ.Tất cả mã lệnh viết bằng ngôn ngữ lập trình nào
điều được biên dịch thành ngôn ngữ trung gian gọi là IL(Intermediate Language).Bộ
khung thực thi sẽ tạo ra mã nhị phân cuối cùng hình thành nên ứng dụng và điều
khiển mã.Đối với trang ASP.NET mã nguồn sẽ được dịch ra mã IL và chỉ có mã IL
được gọi thực thi.Khi mã nguổn thay đổi thì mã IL của trang ASP.NET sẽ được biên
dịch lại.Các trang ASP.NET còn giữ trong vùng đệm cache sẽ bị hủy bỏ và được thay
bằng các trang biên dịch ASP.NET với mã IL mới.Cho dù bạn sử dụng Visual Basic
,C#,Jscript ,Perl hay bất kỳ ngôn ngữ hỗ trợ nào khác ,mã IL được biên dịch cũng sẽ
như nhau.Chúng là mã thực thi trong bộ khung NGWSF.
72
Một ưu điểm nữa là bạn có thể gọi mã lệnh của một ngôn ngữ lập trình hoàn toàn
khác với ngôn ngữ lập trình đang được dùng để viết ứng dụng.Nghĩa là bạn có thể tạo
ra đối tượng từ một ngôn ngữ,sau đó có thể triệu gọi hay thay đổi nội dung đối tượng
từ một ngôn ngữ khác.Ví dụ như bạn có thể tạo ra một đối tượng từ ngôn ngữ C# sau
đó kế thừa và tạo ra một đối tượng mới từ ngôn ngữ Visual Basic(VB) như thêm vào
phương thức ,thuộc tính ,thay đổi hay đè chồng lên các phương thức thay đổi trước
đó…Thực tế một phần của bộ khung NGWSF và toàn bộ mô hình ASP.NET được
cài đặt bên trong bằng C# thay vì C++.
Cơ sở hạ tầng của ứng dụng web :
Hạ tầng của các ứng dụng Web nằm trong một phần của kiến trúc .NET
NGWSF.Chúng bao gồm các dịch vụ Web và trang ASP ,ASP.NET.Cùng với bộ
khung mới của môi trường thực thực thi ứng dụng .NET,các ứng dụng và dịch vụ
web đưa ra những đặc điểm nổi bật sau đây:Hỗ trợ giao diện người dùng.
Các thành phẩn điều khiển đa năng (rich control) là một phần trong cài đặt của
ASP.NET.Những điều khiển này giúp bạn tạo ra giao diện web nhanh chóng và đơn
giản.Thành phần rich control chạy trên Server và có khả năng tạo ra mã HTML tương
thích với hầu hết các trình duyệt cũ.Đồng thời bạn cũng có thể yêu cầu sinh mã tận
dụng các tính năng nâng cao hỗ trợ bởi trình duyệt phía máy khách như HTML 4.0
,các dịch vụ và hỗ trợ bởi Internet explore 4,5,6...Bạn có thể mở rộng ,kế thừa và tạo
ra các thành phần điều khiển đa năng khác dựa trên các thành phần chuẩn của thư viện
sẵn có.
Hỗ trợ truy xuất dữ liệu :
Môi trường NGWSF cung cấp phiên bản mới của ADO gọi là ADO+ cho phép
truy xuất dữ liệu bất kể khuôn dạng hoặc vị trí của dữ liệu.ADO+ thiết kế theo mô
hình hướng đối tượng trên dữ liệu quan hệ,chúng cho phép các nhà phát triển có khả
năng trích rút dữ liệu từ các nguồn phân tán khác nhau.
ADO+ cũng tăng cường khả năng hỗ trợ dữ liệu XML .Bạn có thể tạo ra tập dữ
liệu các recordset từ XML ( còn gọi là dataset trong XML) lưu trữ ,đóng gói và truyền
đi trên mạng.Dữ liệu XML có thể đọc và hiểu bởi rất nhiều ứng dụng Internet
73
Khả năng mở rộng dành cho các ứng dụng phân tán :
Hai yêu cầu thiết yếu đối với tất cả các ứng dụng dựa trên nền web đó là hệ điều
hành nền(platform) phải vững chắc và khả năng mở rộng trên môi trường truy xuất
lớn cho phép đồng thời xử lý nhiều kết nối.Môi trường thực thi NGWSF cung cấp các
chức năng tự động kiểm tra lỗi và phát hiện những trường hợp quá tải.NGWSF sẽ tìm
cách khởi động và tái tạo lại các ứng dụng cũng như các thành phần đối tượng để khả
năng phục vụ của chúng cho kết nối tốt hơn.Điều này sẽ giảm thiểu những lỗi như tài
nguyên hệ thống cạn kiệt ,kết nối tắc nghẽn…
1.2 ASP.NET(ACTIVE SERVER PAGE.NET)
ASP.NET là một công nghệ có tính cách mạng dùng để phát triển các ứng dụng
mạng hiện nay cũng như trong tương lai.
ASP.NET là một platform phát triển các ứng dụng web hợp nhất cung cấp các
dịch vụ cần thiết cho việc xây dựng các ứng dụng Enterprise – class Web.ASP.NET
được thiết kế tương thích với các ứng dụng ASP trước đó.
ASP .NET được biên dịch, dựa trên môi trường .NET cho phép tạo ra các ứng
dụng trong bất cứ ngôn ngữ lập trình nào tương thích .NET chẳng hạn như C#, Visual
Basic.NET, Jscrip.NET. Ngoài ra, toàn bộ .NET Framework sẵn sàng cho các ứng
dụng ASP.NET, các nhà phát triển có thể có lợi ích từ những kỹ thuật sau bao gồm :
managed common langguage runtime environment, an toàn kiểu…
ASP.NET được sử dụng chung với các lớp lập trình mà nó có thể tạo các ứng dụng
Web một cách dễ dàng cho người lập trình. ASP.NET cung cấp cách truy cập giao
diện HTML chung và nó chạy trên chương trình máy phục vụ nhưng thể hiện kết quả
thông qua HTML (ví dụ như text box chẳng hạn). Giao diện ASP.NET làm cho việc
phát triển các ứng dụng Web trở nên nhanh hơn do bởi các đối tượng điều khiển
chung này. Như một kết quả (của) các lớp lập trình chung và những đặc tính chuẩn
của ASP.NET, các nhà phát triển tiêu tốn ít thời gian hơn khi viết các mã mới và cần
nhiều thời gian hơn khi sử dụng các mã đã có. ASP.NET được sử dụng ở phần trên
của hai thành phần thực thi ngôn ngữ chung CLR và các ngôn ngữ lập trình hợp nhất
để tạo ra các dịch vụ Web.
74
ASP.NET giúp ta phát triển và triển khai các ứng dụng về mạng trong một thời
gian kỷ lục vì nó cung cấp cho ta một kiểu mẫu lập trình dễ dàng và gọn gàng
nhất.Ngoài ra các trang ASP.NET có thể làm việc với mọi browser hiện nay như
Internet Explorer(IE),Netscape,Opera,AOL...mà không cần phải thay đổi mã nguồn
vất vả như trước.
ASP.NET có khả năng lưu trữ một kết quả chung trong bộ phận memory của trang
để gởi giải đáp cho cùng môt yêu cầu từ nhiều khách hàng khác nhau và nhờ đó
không chỉ tiết kiệm được sự lập đi lập lại công tác thi hành của một trang web mà còn
gia tăng hiệu suất một cách ngoạn mục do hạn chế tối đa việc truy xuất các cơ sở dữ
liệu vốn tốn rất nhiều thời gian.
ASP.NET tự động dò tìm và phục hồi (detect and recovers) những trở ngại nghiêm
trọng như deadlocks hay bộ nhớ (memory) bị rỉ để đảm bảo ứng dụng của bản luôn
luôn sẵn sàng mà không làm cản trở việc cung ứng các dịch vụ cần thiết thường lệ.
Một số đặc tính nổi bật của ASP.NET
Pages(trang ứng dụng) :Sử dụng các thành phần điều khiển có khả năng hoạt động
và tương tác với nhau ngay trên trình chủ web server.Đặc điểm này giảm thiểu quá
trình viết mã tương tác giữa các trang.Lập trình trong môi trường ASP.NET tuơng tự
như lập trình thiết kế trong VB Form và do đó các ứng dụng ASP.NET còn gọi là
Web Forms.
HTML server Side Controls :Các thành phần điều khiển HTML có khả năng xử lý
ngay trên trình chủ dựa vào thuộc tính và phương thức tương tự các họat động của
chúng phía trình khách.Những thành phần điểu khiển này còn cho phép kết hợp mã xử
lý của trang ASP.NET với một sự kiện nào đó phát sinh phía trình khách được xem
như đang diễn ra trên trình chủ(mô hình chuyển giao-deligated).
Rich Control : Tập các thành phần điều khiển đa năng .Các Rich Control chạy trên
server và có thể tạo ra các phần tử cũng như đối tuợng HTML thích hợp cho trình
khách.
Ví dụ :(grid),lich(calendar),bảng(table),khung nhìn(list view)..Rich Control còn
cho phép bạn ràng buộc dữ liệu và xử lý dữ liệu tương tự như đang viết ứng dụng
destop thật sự.Xóa đi biên giới của mô hình khách chủ client/server.
75
Web service : Các dịch vụ web,trang ASP.NET của bạn có thể không cần hiển thị
kết xuất cho trình khách.Chúng hoạt động như các chương trình xử lý yêu cầu ở hậu
cảnh.Ví dụ trang ASP.NET có thể là một lớp đối tượng cung cấp các phương thức trả
về giá trị nào đó khi nhận được yêu cầu từ trình khách.
Cấu hình và phân phối : Đơn giản ,dễ dàng với các file cấu hình theo định dạng
XML .Các thành phần đối tượng không cần phải đăng ký với hệ thống trước khi sử
dụng nữa(không còn dùng đến regsvr32.exe).Bạn chỉ cần copy các trang ASP.NET
hay các đối tượng lên máy chủ,chỉ ra vị trí của chúng và thế là chương trình hay dịch
vụ của bạn đã có thể sẵn sàng sử dụng.
Tự động quản lý trạng thái Session và Application :Bạn có thể lưu nội dung của
Session hay Application của một ứng dụng đặc thù xuống các file trên đĩa để sử dụng
lại.
Một tập các đối tượng phong phú :ASP.NET hỗ trợ một tập phong phú các thư
viện lớp và đối tượng phục vụ cho hầu hết những gì các nhà phát triển cần đến.Bằng
những thư viện này công việc viết ứng dụng cho web trở nên đơn giản và dễ dàng hơn
bao giờ hết.Ví dụ như bạn có thể sử dụng các thành phần đối tượng « Send Mail« để
gửi nhận nhận ,đối tượng mã hóa và giải mã thông tin ,đối tượng đếm số người truy
cập Web (counter),đối tượng truy xuất dữ liệu ADO ,đối tượng truy cập các dịch vụ
mạng,đối tượng đọc ghi hệ thống file NT,đối tượng ghi ra logfile của hệ điều hành...
Các đối tượng nội tại khác như Request ,Respone ,Form ,Cookies ,Servervariables
đều được giữ lại và hoàn toàn tương thích với ASP.
Độc lâp ngôn ngữ : ASP cho phép bạn biên dịch không phụ thuộc ngôn ngữ, thực
hiên tối ưu việc kết hợp các ngôn ngữ khác nhau. Chúng ta có thể sử dụng C#,
VB.NET hay kể cả C++ để xây dựng trang ASP.NET.
Dễ phát triển : ASP.NET cho phép khai báo và viết mã đơn giản.
Tách mã và nội dung hai thành phần khác nhau : sử dụng trang Code Behide (.vb,
.cs) chứa mã và trang asp chứa giao diện người dùng.
Tính mềm dẻo à khả năng cung cấp.
Hỗ trợ nhiều trình khách
76
Các Web form Controls ngoài việc có thể xuất mã trên trình duyệt còn cho phép
xuất ra tất cả các điều khiển của Platform khác như wireless phone, palm, pager…
Xử lý trình chủ dùng phát biểu Runat = server .
Thay vì sử dụng mô hình tích hợp DLL, COM, DCOM trước đây, với công nghệ
ASP.NET ta có thể sử dụng dịch vụ đơn giả hơn đó là Web Services.
ASP.NET và ASP 3.0.
Mặc dù ASP 3.0 ra đời chưa lâu, Microsoft đã và đang nỗ lực cho một công nghệ
web xử lý phía máy chủ hoàn toàn mới đó là ASP.NET (còn được biết đến với một
tên khác là ASP+ ở bản beta) .Microsoft gọi công nghệ này với môt tên hấp dẫn hơn
là” Dịch vụ web thế hệ kế tiếp” ( Next Generation Web Service)
ASP.NET được thiết kế tương thích với các phiên bản ASP trước đó.Chỉ cần thay
đổi rất ít khi chuyển ứng dụng sẵn có từ ASP sang ASP.NET.
Hiện tại ASP chỉ là ngôn ngữ kịch bản phi định kiểu(none type) dựa trên VBScript
hay Jscript.ASP không tận dụng được các ngôn ngữ ràng buộc kiểu mạnh như C++
hay Visual Basic.ASP.NET cho phép sử dụng ngôn ngữ trung lập.Trang ASP.NET có
thể viết bằng rất nhiều ngôn ngữ như VBScript ,Jscript ,Visual Basic ,C++,C#,Perl…
Một bất tiện của các trang ASP đó là mã lệnh và giao diện(định dạng bằng HTML)
trộn lẫn với nhau.Khi phát triển các ứng dụng Web lớn thường các dự án tách ra làm
hai nhóm.Một nhóm thiết kế giao diên và một nhóm viết lập trình.Kết quả cuối cùng
thường là sự trộn lẫn giữa phần thiết kế giao diện và mã lệnh ASP để tạo ra một file
chương trình duy nhất.Các trang ASP của ứng dụng do đó rất khó bảo trì khi muốn
them vào các mã lập trình mới hay thay đổi giao diện.ASP.NET cho phép tách rời
giữa mã lập trình và nội dung tài liệu.
Trong các phiên bản ASP trước ,hầu như phải viết mã chương trình để quản lý mọi
chuyện.Bạn muốn quản lý trạng thái của các trường nhập liệu trong FORM ,cần phải
viết mã.Bạn muốn kiểm tra tính hợp lệ của dữ liệu(validate)do người dùng nhập vào
cần phải viết mã.ASP.NET thật sự là mô hình đối tượng thành phần loại bỏ rất nhiều
công đọan viết mã chương trình cho lập trình viên Web thường phải làm.ASP.NET
cung cấp các thành phần điều khiển họat động phía máy chủ(server side control) họat
động theo hướng xử lý sự kiện(tương tự các sự kiện xử lý trên Form của chương trình
77
Visual Basic).Bạn chỉ cần khai báo các thành phần điều khiển cần sử dụng và trong
hầu hết các trường hợp bạn không cần phải viết thêm mã lệnh.Mọi việc kiểm soát
trạng thái và tuơng tác với thành phần điều khiển đều được trình chủ Web Server với
kiến trúc ASP.NET lo liệu.
Ngày nay thế giới đã thay đổi nhanh chóng với các thiết bị cầm tay như điện thoại
di động ,máy Palm ,TV có thể kết nối Internet.Những thiết bị này đều chuẩn bị khả
năng kết nối Internet và máy chủ phục vụ Web.Công việc xử lý trên máy chủ là rất
nhiều.Chẳng hạn ngoài việc xử lý trang HTML bạn còn phải có khả năng tạo các
trang WML phục vụ cho điện thoại di động,xử lý và trao đổi dữ liệu XML…Những
công việc này có thể xử lý bằng ASP nhưng cũng cần them các thư viện phụ và đòi
hỏi quá trình viết mã rất công phu.ASP.NET sẵn có các dịch vụ này cho để bạn sử
dụng.
Bên cạnh đó chúng ta cần phải có khả năng xây dựng các đối tượng phân tán có
thể triệu gọi từ xa và sử dụng lại trên nhiều hệ điều hành.Các đối tượng phải dễ thiết
kế và cài đặt khi đưa vào sử dụng.ASP.NET cung cấp kiến trúc hạ tầng để xây dựng
các ứng dụng phân tán trên Web theo phương thức triệu gọi SOAP (Simple Object
Access Protocol-Giao thức truy xuất đối tuợng giản đơn) cho phép thực hiện chuyển
đổi dữ liệu XML phục vụ cho môi trường thương mại điện tử B2B(Business to
Business).ASP.NET cung ấp đầy đủ các dịch vụ từ bảo mật đến cấp phát bộ nhớ ,thu
gom rác ,theo dõi sự quá tải của các thành phần đối tượng,cân bằng tải(load
balane)giảm thiểu tối đa các kết nối tốn tài nguyên…
Để đạt được những mục tiêu này ASP đã thay đồi toàn bộ thành môi trường lập
trình mới .Visual Studio.NET của Microsoft là công cụ tuyệt vời nhất để bạn xây
dựng các ứng dụng Web,đặc biệt là ASP.NET.Môi trường lập trình mới cùa Microsoft
trên nền Windows không phân biệt ngôn ngữ.ASP.NET có thể viết bằng bất kỳ ngôn
ngữ nào của Visual Studio.NET như C#,VB,C++.
Tập tin của ASP.NET(ASP.NET file) có extension là .ASPX ,còn tập tin của ASP
là .ASP
Tập tin của ASP.NET(ASP.NET file) được phân tích ngữ pháp(parsed)
XSPISAPI.DLL ,còn tập tin của ASP được phân tích bởi ASP.DLL.
78
ASP.NET là kiểu mẫu lập trình phát động bằng sự kiện(event driven),còn trang
ASP được thực thi theo thứ tự tuần tự từ trên xuống.
ASP.NET sử dụng trình biên dịch (compiled code) nên rất nhanh ,còn ASP sử
dụng trình thông dịch(interpreted code) do đó hiệu suất và tốc độ phát triển cũng thua
sút hẳn.
Cơ cấu hoạt động của trang ASP.NET.
Khi trình khách lần đầu tiên yêu cầu trang ASP.NET ,trình chủ Web Server sẽ
kiểm tra xem trang ASP.NET đã được biên dịch và lưu trong bộ đệm(cache) chưa
.Nếu chưa môi trường thực thi .NET sẽ biên dịch trang ASP.NET mà trình khách yêu
cầu và đưa mã trang đã biên dịch vào vùng đêm cache.Trang ASP.NET sẽ được biên
dịch ra mã thực thi trung gian IL(khác với mã nhị phân của các trình ứng dụng.exe)Vì
lý do này mọi ngôn ngữ lập trình có khả năng tạo ra mã IL đều có thể được dùng để
viết trang ASP.NET.Do được biên dịch và lưu trong vùng đệm nên ứng dụng xây
dựng dựa trên trang ASP.NET chạy nhanh hơn các trang ASP.
Web Clients
ASP.NET
Applications IIS
.NET
Framework
Win NT/2000 Operating System
79
Như mô tả ở hình trên, ta thấy tất cả các web clients truyền thông với các ứng
dụng ASP.NET thông qua các IIS. IIS giải mã và xác nhận tuỳ ý các request. Nếu
Allow Anonymous được đặt là true thì sẽ không có việc chứng thực. IIS cũng tìm
kiếm các tài nguyên được yêu cầu và nếu client được cấp quyền thì sẽ trả về các tài
nguyên tương ứng.
1.3 Data Access Application Block :
ASP.NET còn là một ngôn ngữ lập trình cở sở dữ liệu khá phổ biến ngày nay.
Trong hệ thống quản lý thiết bị và bảo trì hệ thống còn sử dụng bộ thư viện
applicationBlock.trong enterprise Library.
Enterprise Library - Data Access Application Block (DAAB) cung cấp một số
chức năng hết sức đơn giản để truy xuất, thực thi dữ liệu. Các ứng dụng có thể vận
dụng DAAB dễ dàng và linh hoạt trong nhiều trường hợp như truy xuất dữ liệu để
hiển thị (Select), các thao tác (Insert, Delete, Update, ...) trên cơ sở dữ liệu.
DAAB hỗ trợ nhiều cách liên kết đến dữ liệu như sử dụng (thủ tục trữ sẵn) stored
procedure hoặc viết lệnh trực tiếp từ mã lệnh (in-line SQL). Ngoài ra, DAAB còn
cung cấp một số kỹ thuật như tạo tham số (parameters), lưu đệm (caching) tham số và
cung cấp nhiều phương thức (methods). Tóm lại, DAAB là một giải pháp tiện ích
giúp các lập trình viên tiết kiệm nhiều thời gian và công sức.
Xem hai đoạn cose sau:
Code1:
string conString = "server=sqlserver;uid=sa;pwd=tc0ffsh0re;database=Northwind";
SqlConnection conn = new qlConnection(conString);
string sqlQuery = "select top 10 FirstName, LastName from Employees";
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.Text;
cmd.Connection = conn;
cmd.CommandText = sqlQuery;
SqlDataAdapter da = new SqlDataAdapter(cmd);
80
da.Fill(ds);
conn.Close();
Code2:
string conString = "server=sqlserver;uid=sa;pwd=password;database=Northwind";
SqlConnection conn = new SqlConnection(conString);
string sqlQuery = "select top 10 FirstName, LastName from Employees";
DataSet ds = SqlHelper.ExecuteDataset(conn, CommandType.Text, sqlQuery);
Hai đoạn code này chỉ nhằm mục đích lấy dữ liệu từ câu truy vấn đổ vào dataset
vào có kết quả giống hệt nhau. Đoạn code dưới dùng một lớp SqlHelper để "help" get
data còn đoạn code trên là code chuẩn mà tất cả chúng ta phải làm khi muốn connect
đên database. Lớp SqlHelper này là một tool do Microsoft cung cấp free giúp chúng
ta thao tác với SQL Server. Sử dụng bộ thư viện này sẽ giúp ta lập trình trên cơ sở dữ
liệu nhanh hơn, giảm thời gian hoàn thanh và tiện lợi và cấu trúc viết không còn phức
tạp nhiều.
1.3.1Cấu trúc một số lệnh được dùng :
Câu lệnh để tạo một đối tượng lệnh sql để thực thi một stored procedure và
thêm các tham số lựa chọn được cung cấp.
Lệnh : CreateCommand
SqlCommand command = CreateCommand(conn, "AddCustomer", "CustomerID",
"CustomerName")
Lệnh : ExecuteNonQueryTypedParams
int result = ExecuteNonQuery(connString, CommandType.StoredProcedure,
"PublishOrders")
Lệnh : ExecuteReader
ExecuteReader(connectionString, CommandType.StoredProcedure, spName,
commandParameters)
81
Lệnh : ExecuteNonQuery
int result = ExecuteNonQuery(connString, CommandType.StoredProcedure,
"PublishOrders")
Lệnh : ExecuteNonQuery có tham số
int result =ExecuteNonQuery(connString, "PublishOrder",24,36)
Lệnh : UpdateDataset
UpdateDataset(conn,insertCommand, deleteCommand, updateCommand,
dataset,"Order")
Lệnh : ExecuteScalar.
int orderCount = CInt(ExecuteScalar(connString, CommandType.StoredProcedure,
"GetOrderCount"))
Lệnh : ExecuteScalar có tham số.
int orderCount = Cint(ExecuteScalar(connString, CommandType.StoredProcedure,
"GetOrderCount", new SqlParameter ("@prodid", 24))).
2. Giới thiệu hệ quản trị cơ sở dữ liệu SQL SERVER :
2.1 Tổng quan về SQL SERVER :
Để lập trình trên cơ sở dữ liệu phục vụ nhu cầu của công ty, có thể là người lên
kế hoạch, thiết kế, và cài đặt các cơ sở dữ liệu... Có thể phải lập trình dựa trên một cơ
sở dữ liệu đang tồn tại mà trước đó do một chuyên viên phát triển cơ sở dữ liệu khác
đã tạo. Bởi vì cơ sở dữ liệu tạo thành là một phần then chốt của nhiều ứng dụng doanh
nghiệp, việc hiểu cách mà các cơ sở dữ liệu được tạo và các tùy chọn nào thông
thường được sử dụng là điều quan trọng.
Microsoft SQL Server 2005 là một công cụ cho phép thiết kế cơ sở dữ liệu, các
cách tính toán trên dữ liệu, và các hàm có sẳn để hổ việc lập trình trên các công cụ lập
trình như Asp.net, Foxpro, java, … một cách nhanh chóng và thuận tiện. SQL Server
2005 có thể cho thấy các cách thiết lập, các tùy chọn cơ sở dữ liệu, và cách xem cấu
trúc dữ liệu (metadata) của một cơ sở dữ liệu và các đối tượng.
82
Có thể sử dụng SQL Server thực hiện việc xử lý giao dịch, lưu trữ và phân tích dữ
liệu. Các tính năng của SQL SEVER để thực hiện , xử lý giao dịch, lưu trữ và phân
tích dữ liệu :
ữ liệu cho các giao dịch (transactions) và phân tích (analysis). -Quản lý kho d
-Khả năng lưu trữ dữ liệu với các kiểu dữ liệu có miền giá trị rộng, bao gồm text,
numeric, Extensible Markup Language (XML), và các đối tượng lớn.
-Đáp trả các yêu cầu từ các ứng dụng client.
-Sử dụng Transact-SQL, XML, hay các câu lệnh SQL Server khác để gởi các yêu
cầu giữa ứng dụng client và SQL Server.
Hệ quản trị cơ sở dữ liệu SQL Server là đáng tin cậy đối với:
·Việc duy trì các mối quan hệ giữa các đối tượng dữ liệu trong một cơ sở dữ liệu.
·Việc bảo đảm rằng dữ liệu được lưu trữ đúng đắn và đứng đắn và các quy tắc định
nghĩa các quan hệ giữa các đối tương dữ liệu là không bị xâm phạm.
·Việc khôi phục tất cả dữ liệu tới một điểm “point of known consistency”, trong sự
kiện lỗi hệ thống.
2.2 Các lưu ý khi hoạt định một cơ sở dữ liệu :
Mục tiêu của kho dữ liệu (Purpose of data storage): các cơ sở dữ liệu OLTP và
OLAP có các mục tiêu khác nhau và vì vậy các yêu cầu thiết kế cũng sẽ khác nhau.
Tần suất giao dịch (Transaction throughput) : các cơ sở dữ liệu OLTP thường có
nhu cầu cao đối với số lượng các giao dịch có thể được xử lý mỗi phút, giờ, hay mỗi
ngày. Một thiết kế đạt hiệu suất cao liên quan đến một mức độ thích hợp của sự chuẩn
hóa (normalization), các chỉ mục (indexes), và sự phân chia dữ liệu có thể đạt được
một mức độ rất cao của tần suất giao dịch.
Khả năng tăng trưởng về khía cạnh vật lý của kho lưu trữ (Potential growth of
physical dataưữ storage)
Số lượng dữ liệu lớn đòi hỏi phần cứng phù hợp đối với bộ nhớ (memory), dung
lượng đĩa cứng (hard disk), và khả năng của đơn vị xử lý trung tâm (central
processing unit - CPU). Việc ước lượng số lượng dữ liệu mà cơ sở dữ liệu của bạn sẽ
phải lưu trữ trong nhiều tháng và nhiều năm tiếp theo sau sẽ bảo đảm rằng cơ sở dữ
liệu của bạn sẽ duy trì làm việc hiệu quả. Bạn có thể định cấu hình các cơ sở dữ liệu
83
sao cho các tập tin tăng trưởng một cách tự động với bước tăng theo thông số xác định
nào đó đến một kích thước tối đa đã được chỉ định. Tuy nhiên, việc tăng trưởng tự
động tập tin có thể ảnh hưởng đến hiệu suất hoạt động. Trong hầu hết các giải pháp cơ
sở dữ liệu server-based, bạn nên tạo cơ sở dữ liệu với kích thước các tập tin phù hợp,
theo dõi giám sát không gian thường sử dụng, và chỉ cấp phát thêm không gian cho
tập tin chỉ khi thấy cần thiết.
File location: nơi mà bạn đặt các tập tin có thể có tác động ảnh hưởng về hiệu suất
thực thi. Nếu có thể, bạn nên sử dụng nhiều ổ đĩa, bạn có thể dàn trải các tập tin cơ sở
dữ liệu của bạn trên nhiều hơn một đĩa. Điều này cho phép SQL Server nhận được sự
thuận lợi của việc có nhiều kết nối và nhiều đầu đọc đĩa cho việc đọc và ghi dữ liệu
hiệu quả.
Để tạo một cơ sở dữ liệu có thể sử dụng các công cụ trực quan trong SQL Server
Management Studio hoặc sử dụng câu lệnh CREATE DATABASE của Transact-
SQL.
Ví dụ sau đây trình bày cách tạo một cơ sở dữ liệu bằng cách sử dụng Transact-
SQL :
CREATE DATABASE TestDB
ON (NAME = 'TestDB_Data',
FILENAME = 'D:\DATA_ViDu\TestDB_Data.mdf',
SIZE = 20 MB,
FILEGROWTH = 0)
LOG ON (NAME = 'TestDB_Log',
FILENAME = 'D:\DATA_ViDu\TestDB_Log.ldf',
SIZE = 5 MB,
FILEGROWTH = 0)
Nếu muốn, thay vì sử dụng câu lệnh Transact – SQL có thể dùng công cụ trực quan
SQL Server Management Studio để tạo một cơ sở dữ liệu
84
(Hình I.1)
Hình I.1 trình bày cách thực thi câu lệnh trên bằng cách sử dụng trình soạn thảo
Query trong SQL Server Management Studio
2.3 Các đặt trưng trong một giao dịch của SQL SERVER :
Atomicity (Tính nguyên tử): Một giao dịch là một đơn thể nguyên tử (atomic unit),
có nghĩa là nó không thể được chia nhỏ, tất cả các các hành động đã được định nghĩa
trong giao dịch được hoặc hoàn hoàn tất hoặc chẳng có hành động nào trong chúng
được hoàn tất.
Consistency (Tính nhất quán): Kết quả tác động của một giao dịch đối với dữ liệu
luôn bảo đảm tính nhất quán của chúng.
Isolation (Tính cô lập): Một giao dịch hành động trong sự cô lập tách rời khỏi các
hoạt động cơ sở dữ liệu khác. Các hoạt động cơ sở dữ liệu khác không có hiệu lực với
giao dịch.
Durability (Tính bền vững): Bảo đảm rằng một khi giao dịch ủy thác kết quả của nó
được duy trì cố định không bị xóa khỏi CSDL dù giao dịch có thành công hay
không.Tính bền vững dẫn đến khái niệm phục hồi CSDL(database recovery). SQL
Server hỗ trợ không tường minh (implicit) các giao dịch đối với các lệnh riêng lẻ sửa
đổi dữ liệu và tường minh các giao dịch đối với các lệnh phức tạp mà chúng phải
được thực thi như là một đơn thể.
85
Phân Loại Loại View Diển Giải
Databases
and files
sys.database_files
Trả về một dòng đối với
mỗi tập tin database
Objects
sys.columns
Trả về một dòng đối với
mỗi cột (columns) của
một đối tượng chứa các
cột trong database
Objects
sys.events
Trả về một dòng đối với
mỗi sự kiện và một
trigger hay một hành
động nào đó kích hoạt
Objects
sys.indexes
Trả về một dòng của mỗi
index hay heap, danh
sách của mỗi đối tượng
Objects
sys.tables
Trả về một dòng đối với
mỗi table trong database
Objects
sys.views
Trả về một dòng đối với
mỗi view trong database
Schemas sys.schemas Trả về một dòng đối với
mỗi schemas đã định
nghĩa trong database
Security
sys.database_permissions
Trả về một dòng đối với
mỗi permission đã định
nghĩa trong database
Security
sys.database_principals
Trả về một dòng đối với
mỗi Sercurity principal
trong database
Security
sys.database_role_members Trả về một dòng đối với
mỗi thành viên của một
database role
86
2.4 Thao tác trên dữ liệu SQL :
SQL là một cú pháp để thực hiện các truy vấn. Nhưng ngôn ngữ SQL cũng chứa các
cú pháp cập nhật các mẩu tin (record), chèn các mẩu tin mới và xóa các mẩu tin đang
tồn tại.
Các lệnh truy vấn và cập nhật này thuộc dạng Ngôn ngữ Thao tác Dữ liệu (Data
Manipulation Language - DML) một phần của SQL :
-Lệnh SELECT – trích dữ liệu từ một cơ sở dữ liệu
Phát biểu SELECT chọn các cột dữ liệu từ một cơ sở dữ liệu.
Dùng phát biểu này để chọn (SELECT) thông tin từ (FROM) một bảng như sau:
Cú pháp : SELECT column_name(s) FROM table_name
-Lệnh WHERE dùng để chỉ định một tiêu chuẩn (criteria) chọn.
Cú pháp : SELECT column FROM table WHERE column condition value
= Bằng
Không bằng
> Lớn hơn
< Nhỏ hơn
>= Lớn hơn hay bằng
<= Nhỏ hơn hay bằng
LIKE Giống như
Chú ý: Vài phiên bản SQL toán tử có thể được viết thành !=
-Toán tử AND & OR
AND và OR kết nối hai hay nhiều điều kiện trong một mệnh đề WHERE.
Toán tử AND hiển thị một cột nếu TẤT CẢ các điều kiện liệt kê đều đúng.
Toán tử OR hiển thị một cột nếu MỘT TRONG các điều kiện liệt kê là đúng.
-Toán tử BETWEEN ... AND
Toán tử BETWEEN ... AND chọn tất cả các trị trong khoảng giới hạn giữa hai trị.
Các trị này có thể là các số, văn bản, hay ngày tháng.
-Từ khóa DISTINCT dùng trả về chỉ các trị khác biệt (distinct).
87
Cú pháp : SELECT DISTINCT column-name(s) FROM table-name
-Từ khóa ORDER BY dùng sắp xếp kết quả thứ tự kết quả.
Cú pháp : SELECT Company, OrderNumber FROM Orders
ORDER BY Company
-Lệnh INSERT INTO : chèn các dòng mới vào trong một bảng:
Cú pháp : INSERT INTO table_nameVALUES (value1, value2,....)
-Lệnh UPDATE : cập nhật hoặc thay đổi các dòng
Cú pháp : UPDATE table_name SET column_name = new_value
WHERE column_name = some_value
-Lệnh DELETE dùng xóa một hay nhiều dòng trong một bảng.
Cú pháp : DELETE FROM table_name WHERE column_name = some_value
-Lệnh COUNT đếm số giá trị một cột nào đó.
Cú pháp : SELECT COUNT(column) FROM table
-Lệnh AVG trị trung bình của dữ liệu trong một cột có đu7ọc nhờ phép chọn. Các trị
NULL sẽ không được tính toán.
Cú pháp : SELECT AVG(Age) FROM Persons
-Lệnh MAX trả về trị lớn nhất trong một cột. Các trị NULL sẽ không được tính toán.
Cú pháp : SELECT MAX(Age) FROM Persons
-Lệnh MIN trả về trị lớn nhất trong một cột. Các trị NULL sẽ không được tính toán.
Cú pháp : SELECT MIN(Age) FROM Persons.
-Lệnh GROUP BY được thêm vào SQL vì các hàm tổng (như SUM) trả về tổng của
tất cả các trị trong cột mỗi khi chúng ta gọi đến.
Thiếu chức năng GROUP BY, không thể tìm tổng của mỗi nhóm trị riêng trong cột.
Cú pháp GROUP BY: SELECT column,SUM(column) FROM table GROUP BY
column
-Lệnh HAVING được thêm vào SQL vì từ khóa WHERE không thể dùng với các hàm
tổng (như hàm SUM).
Thiếu từ khóa HAVING sẽ không thể kiểm tra các điều kiện dùng hàm tổng.
Cú pháp HAVING : SELECT column,SUM(column) FROM table
GROUP BY column
88
-Lệnh HAVING SUM(column) condition value
Từ khóa HAVING được thêm vào SQL vì từ khóa WHERE không thể dùng với các
hàm tổng (như hàm SUM).
Thiếu từ khóa HAVING sẽ không thể kiểm tra các điều kiện dùng hàm tổng.
Cú pháp của HAVING : SELECT column,SUM(column) FROM table
GROUP BY column
HAVING SUM(column) condition value
-Lệnh Alter Table phát biểu ALTER TABLE dùng để thêm hay loại bỏ các cột trong
một bảng cho trước.
ALTER TABLE table_name
ADD column_name datatype
ALTER TABLE table_name
DROP column_name
89
KẾT LUẬN
Qua thời gian nghiên cứu và thực hiện đề tài : “Phân tích thiết kế hệ thống thông
tin và xây dựng chương trình Quản lý thiết bị - Lập lịch bảo trì” chúng em tới nay đã
hoàn thành nhiệm vụ mà yêu cầu đề tài đặt ra.
Qua quá trình thực hiện đồ án chúng em đã được trang bị thêm kiến thức về công
tác bảo trì đối với các nhà máy sản xuất sản phẩm ở trong nước.
Hạn chế của đề tài là việc phải nắm bắt về một lĩnh vực khá mới mẻ đối với
những người chuyên về công nghệ thông tin như chúng em. Xây dựng chương trình
quản lý trang thiết bị và lập lịch bảo trì cho các nhà máy hiện đang là một vấn đề rất
khó khăn và được rất nhiều doanh nghiệp quan tâm.
Do thời gian làm đề tài có hạn nên chúng em chỉ giới hạn đề tài ở mức độ Quản
lý trang thiết bị và lập lịch bảo trì chứ chưa đủ sức mở rộng ra phạm vi chương trình
Quản lý bảo trì.
Hướng nghiên cứu tiếp của đề tài này là mở rộng giới hạn quản lý để đạt được
tầm chương trình Quản lý bảo trì hoàn thiện hơn, ứng dụng cho các xí nghiệp, nhà
máy.
Mặc dù đã nỗ lực hết khả năng nhưng chắc chắn luận văn không tránh khỏi
những thiếu sót do độ phức tạp của vấn đề, chúng em kính mong được sự chỉ dẫn tận
tình của quý thầy cô giáo.
SVTH : Châu Minh Danh
Lê Việt Đức
90
TÀI LIỆU THAM KHẢO :
-Microsoft SQL Server 2005 Implementation and Maintenance - Joseph L. Jorden,
Dandy Weyn.
-.NET Toàn Tập - Tập 2: C# Và.NET Framework - Lập Trình Visual C# Thế
Nào? (Sách Tự Học)
-Professional Crystal Reports for Visual Studio .NET by David McAmis.
-Lập kế hoạch, điều độ và kiểm soát công tác bảo trì – Khoa Cơ Khí Đại Học Bách
Khoa, Biên soạn : PGS.TS. Phạm Ngọc Tuấn.
-Phân tích và thiết kế hệ thống thông tin quản lý – Biên soạn : PGS.TS Trần Thành
Trai.
-SQL Server 2005 – Lập trình nâng cao , tác giả : Phạm Hữu Khang.
Các file đính kèm theo tài liệu này:
- phan_tich_thiet_ke_he_thong_thong_tin_quan_ly_thiet_bi_va_lap_lich_ba_.pdf