Đặc điểm chủ yếu của CSDL là cách tổ chức, sắp xếp thông tin, các dữ liệu có liên quan với nhau sẽ được lưu trong các tập tin hay trong các bảng.
Trang 1TRƯỜNG ĐẠI HỌC DÂN LẬP PHƯƠNG ĐÔNG
KHOA CÔNG NGHỆ THÔNG TIN
*******
ĐỒ ÁN TỐT NGHIỆP THUỘC CHUYÊN NGÀNH TIN HỌC
ĐỀ TÀI:
XÂY DỰNG CHƯƠNG TRÌNH QUẢN LÝ NHÂN SỰ TRONG CÔNG TY
Người thực hiện : Đoàn Ngọc Hiếu
Mã số : PĐ711257Người hướng dẫn : ThS GVC Nguyễn Đình Thuận
HÀ NỘI , 2005
Trang 2LỜI NÓI ĐẦU
Hiện nay trên thế giới nói chung và nước ta nói riêng đang diễn ra quátrình tin học hoá toàn diện trên mọi lĩnh vực hoạt động của xã hội loài ngườiđang chuyển sang kỷ nguyên của công nghệ thông tin.Máy tính và các công cụcủa nó đã trở thành một nhu cầu không thể thiếu được đối với các ngành khoahọc kỹ thuật trong lĩnh vực quản lý,kế toán
Công Nghệ Thông Tin đã có rất nhiều ứng dụng trong quản lý nó đã giảmđược bộ máy quản ly cồng kềnh ở các đơn vị trước kia.Nhờ những ứng dụng đócủa Công Nghệ Thông Tin đã làm giảm được sự quản lý đầy khó khăn phức tạptrên giấy tờ trong công tác quản lý Nó có yếu tố quan trọng quyết định khôngnhỏ đến sự thành công của mỗi ngành nghề mỗi quốc gia hiện nay (Vì vậy tinhọc hoá hoạt động quản lý là một việc làm cần thiết và cần được đưa vào cácđơn vị sản xuất.)
Xuất phát từ thực tế đó, với vốn kiến thức đã được học ở trên lớp, với sựgiúp đỡ hướng dẫn tận tình của thầy giáo Nguyễn Đình Thuận chúng em đã xâydựng đề tài ” Quản lý nhân sự trong công ty ”
Trang 31.1.1 Khái niệm về cơ sở dữ liệu
Cơ sở dữ liệu ( CSDL ) là một tập hợp có sắp xếp các thông tin, dữ liệu vềmột vấn đề nào đó, nhằm giúp cho người sử dụng dễ dàng tra cứu, sử dụng vàcập nhập
Đặc điểm chủ yếu của CSDL là cách tổ chức, sắp xếp thông tin, các dữ liệu
có liên quan với nhau sẽ được lưu trong các tập tin hay trong các bảng Nói cáchkhác nó là tập hợp các dữ liệu có quan hệ với nhau
1.1.2 Sự cần thiết của cơ sở dữ liệu
Ngày nay nhu cầu tích luỹ lưu trữ và xử lý dữ liệu đã có mặt trên mọi lĩnhvực, trong mọi hoạt động của con người Nhưng thông tin ngày càng lớn vàphức tạp, buộc con người phải sắp xếp các thông tin sao cho có khoa học, vì vậyđòi hỏi họ phải sử dụng CSDL
1.1.3 Hệ quản trị cơ sở dữ liệu ( Database Management System )
Là một công cụ cho phép quản lý và tương tác với cơ sở dữ liệu như chophép xử lý, thay đổi, truy xuất cơ sở dữ liệu Theo nghĩa này hệ quản trị cơ sở
dữ liệu có nhiệm vụ rất quan trọng như là một bộ phận diễn dịch với ngôn ngữbậc cao nhằm giúp người sử dụng có thể dùng được hệ thống mà ít nhiều khôngcần quan tâm đến thuật toán chi tiết hoặc biểu diễn dữ liệu trong máy tính Hầuhết các hệ quản trị cơ sở dữ liệu đều thực hiện các chức năng sau:
- Lưu trữ dữ liệu
- Tạo và duy trì cấu trúc dữ liệu
- Hỗ trợ bảo mật và riêng tư
- Cho xem và xử lý các dữ liệu lưu trữ
- Cung cấp một cơ chế chỉ mục ( index ) hiệu quả để truy cập nhanh các dữliệu lựa chọn
Trang 4- Cung cấp tính nhất quán giữa các bản ghi khác nhau.
- Bảo vệ dữ liệu khỏi mất mát bằng các quá trình sao lưu ( backup ) vàphục hồi dữ liệu ( recovery )
Trong hệ quản trị cơ sở dữ liệu quan hệ dữ liệu được tổ chức thành cácbảng, các bảng bao gồm các trường và các trường chứa các bản ghi Mỗi trườngtương ứng với một mục dữ liệu, hai hay nhiều bảng có thể liên kết nếu chúng cómột hay nhiều trường chung
1.2 LÝ THUYẾT VỀ CƠ SỞ DỮ LIỆU QUAN HỆ
1.2.1 Khái niệm cơ bản về cơ sở dữ liệu quan hệ
Khái niệm cơ sở dữ liệu quan hệ: là loại cơ sở dữ liệu cho phép ta truy cậpđến dữ liệu thông qua mối quan hệ đến các dữ liệu khác Các thông tin khôngđược lưu dưới dạng cây mà tạo thành các bảng dữ liệu giống như các bảng tính
Để truy cập thông tin ta có thể dùng một ngôn ngữ đặc biệt để truy vấn, đó làSQL ( Structure Query Language ) nó là ngôn ngữ truy vấn có cấu trúc
1.2.2 Thành phần của cơ sở dữ liệu
a) Các trường dữ liệu ( data fields )
Trường dữ liệu chứa dữ liệu nhỏ nhất ( dữ liệu nguyên tố ) , ví dụ trongbảng HSSV chứa thông tin về sinh viên: Trường MaSV chứa mã sinh viên,trường Nsinh chứa thông tin về ngày tháng năm sinh của sinh viên trongtrường… Tất cả các trường tạo ra sẽ chứa trong một cơ sở dữ liệu đơn Tuy rằng
ta có thể chứa hơn một thành phần dữ liệu trong một trường ( field ) đơn, nhưnggặp trở ngại khi cập nhập hay sắp xếp thứ tự
b) Các bản ghi dữ liệu ( Data Record )
Các bản ghi dữ liệu ( record ) là tập hợp các trường dữ liệu có liên quan.Một bản ghi sinh viên bao gồm các thông tin về sinh viên như : họ tên, ngàysinh, quê quán, hộ khẩu thường trú, giới tính , …
c) Bảng dữ liệu ( Data Table )
Bằng cách kết hợp fields dữ liệu và record dữ liệu đã tạo ra nguyên tốchung nhất của cơ sở dữ liệu quan hệ là bảng dữ liệu Nguyên tố này chứa nhiều
Trang 5bản ghi dữ liệu, mỗi bản ghi chứa nhiều trường dữ liệu Cũng như mỗi bản ghichứa các trường có quan hệ, mỗi bảng dữ liệu chứa các bản ghi có quan hệ Cácbảng dữ liệu nên đặt tên theo đúng ý nghĩa để giúp người dùng dễ nhớ nội dungcủa bản ghi và trường.
Mô hình cơ sở dữ liệu quan hệ yêu cầu mỗi hàng trong một bảng phải làduy nhất Để đảm bảo tính duy nhất cho một hàng bằng cách tạo ra một khoáchính ( primary key ) một cột hay kết hợp nhiều cột để xác định duy nhất mộthàng Một bảng chỉ có một primary key, mặc dù có thể có một số cột hay tổ hợpcác cột khác có thể tạo ra các giá trị duy nhất Những cột ( hay tổ hợp các cột )giá trị duy nhất trong bảng được xem như là những khoá dự tuyển của primarykey Cho đến nay không có một nguyên tắc tuyệt đối nào để xác định khoá dựtuyển nào là tốt nhất Các tính chất đề nghị của khoá dự tuyển tốt là: nhỏ nhất( minimality – chọn một số cột cần thiết ít nhất ) ổn định ( stability – chọn khoá
ít thay đổi nhất ) và đơn giản / thân thiện ( simplicity / familiaty – chọn mộtkhoá vừa đơn giản vừa quen thuộc)
*Khoá ngoại lai ( Foreign key ): Mặc dù các primary key là thành phần củacác bảng riêng biệt, nếu ta chỉ dùng các bảng độc lập mà không có quan hệ, tarất ít khi sử dụng primary key để trở nên thiết yếu khi ta tạo ra các quan hệ đểliên kết các bảng trong cơ sở dữ liệu quan hệ
Một trường được gọi là khoá ngoại lai của một bảng A nếu nó không phải
là khoá chính của bảng A và liên kết với một bảng B qua khoá chính của bảng B
để xác định duy nhất một bản ghi của bảng B
d) Các mối quan hệ trong bảng ( Relationship )
Trong cơ sở dữ liệu quan hệ, quan hệ được xác lập trên từng cặp bảng.Những cặp bảng này quan hệ với nhau theo một trong 3 loại sau:1-1, 1- ∞ , ∞ -
∞.
*Quan hệ 1-1 ( one-to-one )
Hai bảng được gọi là quan hệ 1-1 nếu với mọi hàng trong bảng thứ nhất chỉ
có nhiều nhất một hàng trong bảng thứ hai Trên thực tế quan hệ này ít xảy ra
Trang 6Loại quan hệ này thường được tạo ra để khắc phục một số giới hạn của các phầnmềm quản lý cơ sở dữ liệu hơn là mô hình hoá một trạng thái của thế giới thực.Trong Microsoft Access, các quan hệ 1-1 có lẽ cần thiết trong một cơ sở dữ liệuquan hệ khi tách một bảng thành hai hay nhiều bảng do tính bảo mật hay hiệuqủa.
*Quan hệ 1- ∞ ( one-to-many ):
Hai bảng có quan hệ một nhiều ( one-to-many ) nếu đối với bảng thứ nhất
có thể không có, hay có một hay nhiều trong bảng thứ hai Quan hệ một nhiềucòn gọi là quan hệ cha con hay là quan hệ chính phụ Loại quan hệ này đượcdùng rất nhiều trong cơ sở dữ liệu quan hệ
*Quan hệ ∞ - ∞ ( many-to-many )
Hai bảng có quan hệ ∞ - ∞ khi đối với mọi hàng trong bảng thứ nhất có thể
có nhiều hàng trong bảng thứ hai và đối với mọi bảng trong bảng thứ hai có thể
có nhiều hàng trong bảng thứ nhất Các quan hệ ∞ - ∞ không thể mô hình hoátrong nhiều phần mềm cơ sở dữ liệu trong đó có cả Microsoft Access Nhữngquan hệ này cần được tách ra thành nhiều quan hệ 1-∞
1.2.3 Lý thuyết thiết kế cơ sở dữ liệu quan hệ
Trong phần lớn các ứng dụng chúng ta đều phải tạo ra cơ sở dữ liệu Docác nguyên nhân đặc biệt có một số ứng dụng không thể xây dựng được cơ sở
dữ liệu từ đầu hoặc là phải sử dụng một số cơ sở có sẵn không ở dạng thích hợpcho cơ sở dữ liệu quan hệ Một trong những dạng thường gặp nhất của ta làchuyển dữ liệu chứa ở dạng dữ liệu bảng tính thành các bảng của cơ sở dữ liệuquan hệ
Có ba bước thiết kế cơ sở dữ liệu:
-Tạo ra các lớp thực thể
-Chuẩn hoá cơ sở dữ liệu
-Thực hiện phi chuẩn
Giới thiệu Hệ quản trị cơ sở dữ liệu Microsoft Access
Giao diện chính của Microsoft Access:
Trang 7Microsoft Access là một trong bốn phần mềm ứng dụng của bộ Microsoftoffice Nó là 1 hệ quản trị cơ sở dữ liệu ( Database Management System ) dùng
để tạo, xử lý các cơ sở dữ liệu Phần mềm này được giới thiệu ở Việt Nam từ vàinăm gần đây và trở thành 1 trong những phần mềm phổ biến nhất hiện nay Từtrước đến nay ở Việt Nam nói đến quản lý cơ sở dữ liệu là người ta thường nghĩngay đến FoxPro, FoxBase Dùng FoxPro trong quản lý hầu như có thể yên tâm
vì FoxPro có thể làm được mọi việc Tuy nhiên nếu đi sâu tìm hiểu Access cóthể thấy rằng phần mềm này thể hiện nhiều đặc tính ưu việt hơn FoxPro, nổi bậthơn cả là tính đơn giản và hiệu quả Thật vậy, Access có thể đáp ứng hầu hết cácnhu cầu về quản trị cơ sở dữ liệu nhưng vẫn giữ tính thân thiện và dễ sử dụng cảcho người lập trình và người sử dụng Các khái niệm trong lý thuyết cơ sở dữliệu được thể hiện khá đầy đủ trong Access Nó là 1 hệ thống có tính hướng đốitượng và có thể dùng trên hệ thống mạng để chia sẻ với nhiều người sử dụng cơ
sở dữ liệu Đồng thời Access dễ dàng quản lý, thể hiện và chia sẻ thông tin trongcác công việc quản lý dữ liệu hàng ngày
Trên đây là những ưu điểm của Microsoft Access so với các phần mèmkhác Chắc chắn rằng trong thời gian sắp tới người sử dụng ở sẽ khám phá ranhững ưu điểm này và sử dụng Access một cách rộng rãi phổ biến hơn
Trang 8Microsoft Access là một hệ quản trị cơ sở dữ liệu với đầy đủ các chứcnăng Nó có các tính năng định nghĩa dữ liệu, xử lý dữ liệu và kiểm soát dữ liệucần thiết để quản lý một lượng dữ liệu lớn.
a) Định nghĩa – lưu trữ dữ liệu
Với Microsoft Access chúng ta có thể sử dụng một cách linh hoạt trongviệc định nghĩa các dữ liệu như: văn bản, số, thời gian, ngày tháng, tiền tệ, hìnhảnh, âm thanh, tệp dữ liệu, bảng tính… định nghĩa cách lưu trữ dữ liệu, địnhdạng dữ liệu để hiển thị hoặc in Đồng thời cũng có thể định nghĩa các quy tắchợp lệ để đảm bảo sự tồn tại chính xác của dữ liệu và mối quan hệ hợp lệ giữacác tệp hoặc các bảng trong cơ sở dữ liệu
Ngoài ra Microsoft Access còn là một ứng dụng chất lượng cao củaMicrosoft Windows, có thể sử dụng các phương tiện của cơ chế trao đổi dữ liệuđộng ( Dynamic Data exchange – DDE ), nhúng và liên kết các đối tượng( Object Linking And Embadding – OLE ) DDE cho phép thực hiện các hàm vàtrao đổi dữ liệu giữa Microsoft Access và các ứng dụng khác dựa trên Windows
có hỗ trợ DDE Cũng có thể tạo sự kết nối DDE với các ứng dụng khác bằngMacro hoặc Access Basic OLE là một khả năng mạnh trong Windows cho phépliên kết hoặc nhúng các đối tượng vào một cơ sở dữ liệu Access Các đối tượng
đó có thể là hình ảnh, đồ thị, bảng tính hoặc tệp văn bản của các ứng dụng kháctrong Windows cũng hỗ trợ OLE Microsoft Access còn có thể truy cập trực tiếpvào các tệp PARADOX, DBASEIII, DBSEIV, BTRIVE, FOXPRO và các tệpkhác, có thể nhập dữ liệu từ các tệp này vào bảng của Microsoft Access.Microsoft Access còn có thể làm việc với hầu hết các cơ sở dữ liệu thông dụng
hỗ trợ chuẩn kết nối cơ sở dữ liệu mở ( Open DataBase Connectivity – ODBC )bao gồm Microsoft SQL Server, Oracle, BD2 và RDB
b) Xử lý dữ liệu
Microsoft Access sử dụng ngôn ngữ cơ sở dữ liệu SQL rất mạnh để xử lý
dữ liệu trong các bảng SQL có thể định nghĩa một tập hợp dữ liệu cần thiết đểgiải một bài toán cụ thể bao gồm dữ liệu có thể lấy từ nhiều bảng NhưngAccess đã đơn giản hoá các nhiệm vụ xử lý dữ liệu Tuy nhiên không nhất thiết
Trang 9bạn phải biết đến SQL vẫn có thể sử dụng Access Access dùng các mối quan hệ
do người dùng định nghĩa để tự động liên kết các bảng cần thiết Người dùng chỉcần tập trung vào các vấn đề thông tin là chủ yếu bởi Access có các công cụ trợgiúp mạnh để giúp người dùng phần lớn các công việc trên máy MicrosoftAccess còn có phương tiện định nghĩa truy vấn đồ hoạ rất mạnh được gọi là truyvấn đồ hoạ theo mẫu ( Graphical Query by example – QBE )
c) Kiểm soát dữ liệu
Microsoft Access được thiết kế để sử dụng như một hệ quản trị cơ sở dữliệu ( HQT-CSDL ) đơn lẻ trên một trạm làm việc duy nhất hoặc theo thể thứckhách dịch vụ được dùng chung trên mạng Người dùng có thể chia sẻ dữ liệucủa Access với những người sử dụng khác bởi Access có tính năng toàn vẹn vàbảo mật dữ liệu tốt Access có thể quy định người sử dụng hoặc nhóm người sửdụng nào được truy cập vào các đối tượng (bảng, biểu mẫu, truy vấn, … ) trong
cơ sở dữ liệu Microsoft Access cung cấp cơ chế khoá để đảm bảo là không baogiờ có 2 người sử dụng đồng thời truy cập vào cùng một đối tượng Đồng thờiAccess cũng nhận biết và chấp nhận các cơ chế khoá của các cấu trúc cơ sở dữliệu khác như (ParDox, SQL , Dbase ) được gắn kèm với cơ sở dữ liệu Access
d) Microsoft Access – công cụ để phát triển ứng dụng cơ sở dữ liệu
Đối với Microsoft Access việc thiết kế và xây dựng các ứng dụng cơ sở dữliệu trở nên dễ dàng hơn vì Access không đòi hỏi người dùng phải hiểu sâu vềngôn ngữ lập trình nào cả mặc dù trong Access người sử dụng phải bắt đầu từviệc định nghĩa các thao tác trên dữ liệu thông qua các Form, Report, Query vàcác Macro
Khái niệm cơ sở dữ liệu Đó là hệ chương trình do Access tạo ra và đượclưu trên một tệp có đuôi MDB Một cơ sở dữ liệu Microsoft Access cung cấpcho người sử dụng 6 nhóm đối tượng công cụ là:
- Bảng ( Table )
- Truy vấn ( Query )
- Mẫu biểu (Form )
- Báo biểu (Report )
Trang 10- Tập lệnh (Macro )
- Đơn thể ( Module )
Microsoft Access là một hệ quản trị cơ sở dữ liệu quan hệ nó trợ giúp chongười sử dụng lưu trữ thông tin dữ liệu bên ngoài vào máy tính dưới dạng cácbảng và có thể tính toán, xử lý trên dữ liệu trong các bảng đã lưu trữ
e) Các đặc điểm của Microsoft Access
- Hỗ trợ cơ chế tự động kiểm tra khoá chính, phụ thuộc tồn tại, miền giátrị… của dữ liệu bên trong các bảng một cách chặt chẽ
- Với công cụ trình thông minh ( Wizard ) cho phép người sử dụng có thểthiết kế các đối tượng trong Microsoft Access một cách nhanh chóng
- Với công cụ truy vấn bằng thí dụ QBE sẽ hỗ trợ cho người sử dụng cóthể thực hiện các truy vấn mà không cần quan tâm đến cú pháp của các câu lệnhtrong ngôn ngữ truy vấn có cấu trúc SQL ( Structure Query Language ) đượcviết như thế nào
- Với kiểu trường đối tượng kết nhúng OLE cho phép người sử dụng có thểđưa vào bên trong tập tin cơ sở dữ liệu Access các ứng dụng khác trên Windowsnhư : tập tin văn bản Word, bảng tính Excel, hình ảnh BMP, âm thanh WAV
- Dữ liệu được lưu trọn gói trong một tập tin: tất cả các đối tượng của mộtứng dụng chỉ được lưu trong một tập tin cơ sở dữ liệu duy nhất đó là tập tin cơ
f) Các đối tượng bên trong tập tin cơ sở dữ liệu Access
Một tập tin cơ sở dữ liệu Access gồm:
-Cấu trúc cơ sở dữ liệu
-Các màn hình nhập liệu và khuôn dạng kết xuất
-Công cụ khai thác dữ liệu
Trang 11Được chia thành 6 đối tượng cơ bản sau:
*Bảng ( Table )
Là thành phần cơ sở của tập tin cơ sở dữ liệu Access có cấu trúc giống nhưmột tệp DBF của Foxpro được dùng để lưu trữ dữ liệu của cơ sở dữ liệu Do đóđây là đối tượng đầu tiên phải được tạo ra trước Một cơ sở dữ liệu thường gồmnhiều bảng có quan hệ với nhau Nguồn gốc của cơ sở dữ liệu quan hệ đầu tiên
do tiến sĩ E.F.Codd thiết kế đã được công bố rộng rãi tạp chí vào tháng 7/1970với bài “ mô hình dữ liệu quan hệ cho các ngân hàng dữ liệu lớn” Theo mô hìnhnày các dữ liệu sẽ được lưu vào máy tính dưới dạng các bảng hai chiều gọi làcác quan hệ và giữa các bảng sẽ có các mối quan hệ được định nghĩa nhằm phảnánh mối liên kết thực sự của các đối tượng dữ liệu ở bên ngoài thế giới thật.Trong mô hình này giới thiệu các khái niệm:
+Bảng ( table ) hay quan hệ: gồm có nhiều dòng và nhiều cột Trong mộtbảng phải có ít nhất là một cột
+Cột ( Column ) hay trường ( Field ): nằm trong bảng Trong một bảng thìkhông thể có hai cột trùng tên nhau Trên mỗi cột chỉ lưu một loại dữ liệu Cácthuộc tính cơ sở của một trường là: Tên trường ( Field name ), kiểu dữ liệu( Data type ), độ rộng ( Field size )
+Dong ( Row ): Nằm trong bảng Trong một bảng thì không thể có haidòng trùng lặp nhau về thông tin lưu trữ
+Khoá chính ( Primary key ): là một hoặc nhiều trường trong một bảng mà
dữ liệu tại các cột này bắt buộc phải có ( không được để trống ) và đồng thơìphải duy nhất không được phép trùng lặp ( tính duy nhất của dữ liệu ) Hơn thếnữa giá trị dữ liệu của khoá chính xác định duy nhất các giá trị của các trườngkhác trong cùng một dòng
+Khoá ngoại ( Foreign key ): là một hoặc nhiều trường trong một bảng màcác trường này là khoá chính của một bảng khác Do đó dữ liệu tại các cột nàybắt buộc phải tồn tại có trong một bảng khác ( tính tồn tại của dữ liệu)
*Truy vấn ( Query )
Trang 12Là công cụ cho phép người sử dụng dùng ngôn ngữ truy vấn có cấu trúcSQL hoặc công cụ truy vấn bằng thí dụ QBE để thực hiện các truy vấn trích rút,chọn lựa dữ liệu hoặc cập nhật dữ liệu ( thêm, sửa, xoá ) trên các bảng Truy vấnbằng thí dụ là một công cụ hỗ trợ việc thực hiện các truy vấn mà không cần phảiviết các lệnh SQL mà chủ yếu chỉ dùng kỹ thuật kéo thả ( Drag – Drop ) trên cơ
sở đồ hoạ Truy vấn là công cụ mạnh của Access dùng để tổng hợp, sắp xếp, tìmkiếm dữ liệu trên các bảng Khi thực hiện truy vấn sẽ nhận được một tập hợp cáckết quả thể hiện trên màn hình dưới dạng bảng, gọi là DynaSet DynaSet chỉ làbảng kết quả trung gian , không được ghi lên đĩa và nó sẽ bị xoá khi kết thúctruy vấn Tuy nhiên có thể sử dụng một DynaSet như một bảng để xây dựng cáctruy vấn khác Chỉ với truy vấn đã có thể giải quyết khá nhiều dạng toán trongquản trị cơ sở dữ liệu
*Biểu mẫu ( Form )
Cho phép người sử dụng xây dựng trên các màn hình dùng để cập nhậthoặc xem dữ liệu lưu trong các bảng, ngoài ra cũng cho phép người sử dụng tạo
ra các hộp thoại hỏi đáp giữa người sử dụng và hệ thống ứng dụng Mẫu biểudùng để tổ chức cập nhật dữ liệu cho các bảng và thiết kế giao diện chươngtrình Tuy có thể nhập dữ liệu trực tiếp vào các bảng, nhưng mẫu biểu sẽ cungcấp nhiều khả năng nhập dữ liệu tiện lợi như: Nhận dữ liệu từ một danh sách,nhận các hình ảnh, nhập dữ liệu đồng thời trên nhiều bảng thông qua SubForm.Mẫu biểu còn cho phép nhập các giá trị riêng lẻ ( không liên quan đến bảng ) từbàn phím Mẫu biểu còn có một khả năng qua trọng khác là tổ chức giao diệnchương trình dưới dạng một bảng nút lệnh hoặc một hệ thông menu
*Báo biểu ( Report )
Cho phép tạo ra kết xuất từ các dữ liẹu đã lưu trong các bảng, sau đó sắpxếp và định dạng theo một khuôn dạng cho trước và từ đó có thể đưa kết xuấtnày ra màn hình hoặc máy in Báo biểu là một công cụ tuyệt vời phục vụ côngviệc in ấn, nó cho các khả năng:
-In dữ liệu dưới dạng bảng
-In dữ liệu dưới dạng biểu
Trang 13-Sắp xếp dữ liệu trước khi in
-Sắp xếp và phân nhóm dữ liệu tới 10 cấp Cho phép thực hiện các phéptoán để nhận dữ liệu tổng hợp trên mỗi nhóm Ngoài ra, dữ liệu tổng hợp nhậntrên các nhóm lại có thể đưa vào các công thức để nhận được sự so sánh, đốichiếu trên các nhóm và trên toàn báo cáo
-In dữ liệu của nhiều bảng có quan hệ trên một báo cáo
*Tập lệnh ( Macro )
Bao gồm một dãy các hành động ( action ) dùng để tự động hoá một loạtcác thao tác Macro thường dùng với biểu mẫu để tổ chức giao diện chươngtrình Macro là công cụ cung cấp cho người sử dụng tạo ra các hành động đơngiản trong Microsoft Access như mở biểu mẫu, báo cao, thực hiện 1 truy vấn…
Trang 14*Đơn thể ( Modul )
Là nơi chứa các hàm, thủ tục viết bằng ngôn ngữ Access Basic Mặc dùcác công cụ mà Access cung cấp khá đầy đủ Cho phép người sử dụng xây dựngcác hàm hoặc thủ tục của riêng mình để thực hiện một số hành động phức tạpnào đó mà không thể làm bằng công cụ tập lệnh Các hàm, thủ tục của AccessBasic sẽ trợ giúp giải quyết những phần việc khó mà công cụ không làm nổihoặc với mục đích cho chương trình chạy nhanh hơn
1.2.4 Mô hình cơ sở dữ liệu quan hệ
a) Quan Hệ:
Quan hệ là một tập hợp con của tích Đề-các của môt hay nhiêu miền Di.Như vậy miền quan hệ có thể là vô hạn Luôn luôn giả thiết rằng, quan hệ là mộttập hữu hạn
Một hàng của quan hệ gọ là một bộ
Quan hệ là tâp con của tích Đề-các D1*D2…D3 gọi là quan hệ n
Khi đó mỗi bộ quan hệ có n thành phần ( n cột ) Các tiêu đề cột của quan
hệ là thuộc tính Ta có thể định nghĩa quan hệ như sau:
Cho R= { a1,a2, …, an } là một tập hợp hữu hạn, không rỗng các thuộc tính.Mỗi thuộc tính ai có một miền giá trị là Dai Khi đó r- một tập hợp các bộ { h1, h2,
…, hm } được gọi là một quan hệ trên R với hj ( j = 1,2,…., m ) là một hàm:
hj : R -> ∪ Dai
ai ∈ Rsao cho : hj ( ai ) ∈ Dai
Trang 15* Hệ tiêu đề Armstrong trong phụ thuộc hàm:
Gọi F là tất cả các phụ thuộc hàm đối với lược đồ quan hệ R( U ) và X ->
Y là một phụ thuộc hàm, trong đó X, Y ⊆ U Khi đó ta có F+ là tập hợp tất cảcác phụ thuộc hàm được sinh ra từ F khi sử dụng tiêu đề amstrong được gọi làbao đóng của F
Hệ tiêu đề amstrong : Gọi R ( U ) là lược đồ quan hệ với U = { A1, …, An }
là tập tất cả các thuộc tính X, Y, X, T ⊆ U Khi đó ta có:
-Tính phản xạ: nếu Y ⊆ X thì X -> Y.
-Tính tăng trưởng: nếu Z ⊆ U và X -> Y thì XZ -> YZ, trong đó XZ là
hợp của hai tập X và Y, YZ là hợp của hai tập Y và Z
-Tính bắc cầu: nếu X -> Y là Y -> Z thì X -> Z
c) Khoá
- Định nghĩa:
Khoá của quan hệ r trên tập thuộc tính U= { A1, A2, …, An } là tập con
K ⊆ U sao cho bất kỳ hai bộ khác nhau t1, t2 ∈ r luôn thoả mãn t1( K ) ≠ t2 ( K).Tập K là siêu khoá ( khoá tối thiểu ) của quan hệ r nếu K là một khoá của quan
hệ r và mọi tập con thực sự K’ của K đều không phải là tập khoá
- Các thuật toán tìm khoá tối tiểu:
• Thuật toán tìm khoá tối tiểu của một sơ đồ quan hệ:
Vào: sơ đồ quan hệ s = < R, F > trong đó:
R = { A1 , A2 , … , An } là tập các thuộc tính
F là tập các phụ thuộc hàm
{
Ra: K là một khoá tối tiểu
Thuật toán thực hiện như sau:
Trang 16Thay đổi thứ tự các thuộc tính R bằng thuật toán trên chúng ta có thể tìmđược một khoá tối tiểu khác.
• Thuật toán tìm khoá tối tiểu của một quan hệ:
Cho trước R= { h1 …., hm } là một quan hệ trên tập thuộc tính
R = { a1 , … , an } Thuật toán thực hiện như sau:
+ Bước 1:
Tìm Er = { Eij 1≤ i ≤ j ≤ m }+ Bước 2:
B0 = R = { a1, … , an }+ Bước 3:
{
+ Bước 4:
K = Bn là khoá tối tiểu
Cũng như thuật toán trên, nếu ta thay đổi thứ tự các thuộc tính của R bằngthuật toán này chúng ta có thể tìm được một khoá tối tiểu khác
d) Các dạng chuẩn
* Dạng chuẩn 1 ( 1 – NF ):
Giả sử r = { h1, … , hm } là File dữ liệu trên tập cột R = { a1, … , an } Khi
đó r là 1 – NF nếu các giá trị hi( aj ) là sơ cấp với mọi i,j
Khái niệm sơ cấp hiểu ở đây là giá trị hi( aj ) ( i = -1, …., m ; j = 1, …, n )không phân loại chi được nữa
Trang 17e) Các phép tính trên cơ sở dữ liệu
- Phép chèn: là phép thêm một bộ t {d1, …,dn} vào quan hệ r { A1,…,
An } Ký hiệu r ∪ t Trong đó Ai với i=1,…, n là tên các thuộc tính và di ∈dom (
Ai ) là các giá trị thuộc miền giá trị tương ứng của thuộc tính Ai
-Phép loại bỏ: là phép xoá một bộ ra khỏi một quan hệ cho trước ký hiệur-t , tuy nhiên không phải lúc nào phép loại bỏ cũng cần đầy đủ thông tin về cả
bộ cần loại bỏ
Trang 18Chương 2
CÁC KIẾN THỨC CƠ BẢN VỀ NGÔN NGỮ LẬP TRÌNH VISUAL
BASIC 2.1 TỔNG QUAN VỀ VISUAL BASIC
Visual Basic là một ngôn ngữ lập trình được sử dụng để phát triển các phầnmềm ứng dụng Visual Basic có nhiều tính ưu việt hơn so với các ngôn ngữ khác
ở chỗ tiết kiệm thời gian và công sức hơn khi xây dựng ứng dụng, dễ sử dụng.Visual Basic gắn liền với khái niệm lập trình trực quan (Visual), nghĩa là khithiết kế chương trình, bạn được nhìn thấy kết quả qua từng thao tác và giao diệnkhi chương trình thực hiện Đây là thuận lợi lớn so với các ngôn ngữ lập trìnhkhác Visual Basic cho phép bạn chỉnh sửa đơn giản, nhanh chóng: Màu sắc,kích thước, hình dáng của các đối tượng có mặt trong ứng dụng Một khả năngkhác của Visual Basic chính là khả năng kết hợp các thư viện liên kết đông DDL( Dynamic Link Library ) Một trong những tính năng thường được sử dụng củaVisual Basic là kỹ thuật lập trình truy cập cơ sở dữ liệu
Ngôn ngữ “ Basic ” ( Beginnes All Purpose Sumbolic Instruction Code) làmột ngôn ngữ được dùng bởi nhiều nhà lập trình hơn bất cứ ngôn ngữ nào kháctrong lịch sử máy tính Visual Basic được phát triển dần dần dựa trên ngôn ngữBasic
*Visual Basic 1.0 ra đời vào giữa năm 1991 phát triển từ Quick Basic
* Visual Basic 2.0 được phát hành trong năm 1992 bao gồm kiểu dữ liệubiến thể, xác định trước bằng hằng số true ( false ) và biến đổi đối tượng Vàothời điểm này chỉ có VBSQL và ODBC API là phương pháp truy cập dữ liệu màngười phát triển có thể dùng VBSQL là khởi tố của những phương pháp giaotiếp giữa SQL và VB
* Visual Basic 3.0 ra đời năm 1993 bao gồm các công cụ chuẩn Nhữngcông cụ này cung cấp động cơ truy xuất cơ sở dữ liệu trong một ứng dụng với
mã lệnh rất ít Đi kèm phiên bản này là động cơ cơ sở dữ liệu Jet phiên bản 1.1( Jet engine ) Jet được dùng trong kết nối dữ liệu thông qua DAO ( Data AccessObject ) hoặc điều khiên data Mặc dù Jet được phát triển cho đến ngày nay
Trang 19( phiên bản 4.0 ) nhưng ADO mới là phương pháp truy cập dữ liệu được ưathích nhất hiện nay do đó ADO là thành phần chính trong chiến lược phát triểncủa Microsoft.
*Visual Basic 4.0 hoàn thành vào năm 1995 được xem là một bước tiến bộ
Nó đuổi kịp những tiến bộ trong lĩnh vực phát triển phần mềm bởi công nghệ kếthợp OLE ( Object Linhking and Embedding ) và khả năng tạo những đối tượng.Một phương thức truy cập dữ liệu mới tích hợp trong phiên bản này là RDO( Remote Data Object ) và Remote Data Control RDO là phương pháp truy cập
dữ liệu được thiết kết thay thế cho DAO Thư viện ActiveX 32-bit này nhỏ hơn
và nhanh hơn DAO và được thiết kế với một hệ thống đối tượng phân cấp giốngnhư ODBC API Tuy nhiên điều khiển này có những lỗi lớn và không được pháttriển tiếp
*Visual Basic 5.0 được phát hành năm 1997 Nó hỗ trợ chuẩn COM củaMicrosoft và cho phép tạo các điều khiển ActiveX Phiên bản này là bước tiếnvượt bậc bởi vì những người phát triển có thể dùng VB để tạo các điều khiển vàthư viện liên kết động DLL riêng của họ
* Visual Basic 6.0 được phát hành vào năm 1998 Theo những yêu cầu đề
ra phiên bản này tăng cường phương pháp giao tiếp mới với SQL Server Nó cảitiến cách truy cập dữ liệu, nhiều công cụ và điều khiển mới cho giao tiếp với cơ
sở dữ liệu cung cấp những tính năng Web và những Wizard mới Phiên bản nàyđược đánh dấu với công nghệ ADO 2.0- phương thức truy cập dữ liệu tốt nhất
và nhanh nhất hiện nay Nó giao tiếp với OLE DB tương tự như RDO nhưngnhỏ hơn và có cấu trúc phân cấp đơn giản hơn ADO được thực thi các ứng dụngkinh doanh hay ứng dụng Internet Phiên bản hiện nay là 2.5 đi kèm vớiWindows 2000
* Visual Basic.net được phát hành vào năm 2003
Mặc dù mục đích tạo ra những ứng dụng nhỏ cho bản thân hoặc một nhómngười hay một công ty nào đó thì Visual Basic vẫn là công cụ mà bạn cần.Những chức năng truy suất dữ liệu cho phép tạo ra những cơ sở dữ liệu, nhữngứng dụng font-end, và những thành phần phạm vi Server-side cho hầu hết các
Trang 20dạng thức cơ sở dữ liệu phổ biến trong đó bao gồm Microsoft SQL Server vànhững cơ sở dữ liệu mức Enterprise khác
2.2 CÁC THÀNH PHẦN CHÍNH CỦA VISUAL BASIC
2.2.1 Form
Form là biểu mẫu của mỗi ứng dụng trong Visual Basic Ta dùng Form( như là một biểu mẫu ) nhằm định vị và sắp xếp các bộ phận trên nó khi thiết kếcác thành phần giao tiếp với người dùng
Ta có thể xem Form như là bộ phận mà nó có thể chứa các bộ phận khác.Form chính của ứng dụng, các thành phần của nó tương tác với cá Form khác vàcác bộ phận của chúng tạo nên giao tiếp cho ứng dụng Form chính là giao diệnchính của ứng dụng, các Form khác có thể chứa các hộp thoại, hiển thị cho nhập
dữ liệu và hơn thế nữa
Trong nhiều ứng dụng Visual Basic, kích cỡ và vị trí của biểu mẫu vào lúchoàn tất thiết kế ( thường mệnh danh là thời gian thiết kế, hoặc lúc thiết kế ) làkích cỡ và hình dáng mà người dùng sẽ gặp vào thời gian thực hiện, hoặc lúcchạy Điều này có nghĩa là Visual Basic cho phép ta thay đổi kích cỡ và dichuyển vị trí của các Form đến bất kỳ nơi nào trên màn hình khi tính đối tượng (Properties Windows ) Thực tế, một trong những tính năng thiết yếu của VisualBasic đó là khả năng tiến hành các thay đổi động để đáp ứng các sự kiện củangười dùng
2.2.2 Tools Box ( Hộp công cụ )
Bản thân hộp công cụ này chỉ chứa các biểu tượng biểu thị cho các điềukhiển mà ta có thể bổ sung vào biểu mẫu, là bảng chứa các đối tượng được địnhnghĩa sẵn của Visual Basic Các đối tượng này được sử dụng trong Form để tạo
Trang 21thành giao diện cho các chương trình ứng dụng của Visual Basic Các đối tượngtrong thanh công cụ sau đây là thông dụng nhất:
a) Scroll Bar: ( thanh cuốn )
Các thanh cuốn được dùng để nhận dữ liệu hoặc hiển thị kết suất Ta khôngquan tâm đến giá trị chính xác của một đối tượng nhưng lại quan tâm sự thay đổi
đó nhỏ hay lớn Nói cách khác, thanh cuốn là đối tượng cho phép nhận từ ngườidùng một giá trị tuỳ theo vị trí con chạy ( thumbs ) trên thanh cuộn thay chocách gõ giá trị số
Thanh cuốn có các thuộc tính quan trọng nhất là:
-Thuộc tính Min: Xác định cận dưới của thanh cuốn
-Thuộc tính Max: Xác định cận trên của thanh cuốn
-Thuộc tính Value: xác định giá trị tạm thời của thanh cuốn
b) Option Button Control ( nút chọn )
Đối tượng nút chọn cho phép người dùng chọn một trong những lựa chọnđưa ra Như vậy, tại một thời điểm chỉ có một trong các nút chọn được chọn
c) Check Box ( hộp kiểm tra )
Đối tượng hộp kiểm tra cho phép người dùng kiểm tra một hay nhiều điềukiện của chương trình ứng dụng Như vậy, tại một thời điểm có thể có nhiều hộpkiểm tra được đánh dấu
e) Image ( hình ảnh )
Đối tượng Image cho phép người dùng đưa hình ảnh vào Form
f) Picture Box
Đối tượng Picture Box có tác dụng gần giống như đối tượng Image
g) Text Box ( hôp soạn thảo )
Trang 22Đối tượng TextBox cho phép đưa các chuỗi ký tự vào Form Thuộc tínhquan trọng nhất của Text Box là thuộc tính Text _ cho biết nội dung hộp TextBox
h) Command Button ( nút lệnh )
Đối tượng Command Button cho phép quyết định thực thi một công việcnào đó
i) Directory List Box, Drive List Box, File List Box
Đây là các đối tượng hỗ trợ cho việc tìm kiếm các tập tin trên một thư mụccủa ổ đĩa nào đó
List Box ( hộp danh sách ): đối tượng List Box cho phép xuất các thông tin
về chuỗi
Trên đây là những đối tượng được sử dụng thường xuyên nhất trong phầnthiết kế giao diện cho một chương trình ứng dụng của Visual Basic
2.2.3 Properties Windows ( cửa sổ thuộc tính )
Properties Windows là nơi chứa danh sách các thuộc tính của một đốitượng cụ thể Các thuộc tính này có thể thay đổi được để phù hợp với yêu cầu vềgiao diện của các chương trình ứng dụng.* Các thuộc tính sẵn có đối với cácđiều khiển có thể chia làm 3 loại:
+ Các thuộc tính sẵn có của điều khiển chỉ thiết lập lúc thiết kế nghĩa là cóthể thiết lập các thuộc tính của điều khiển thông qua cửa sổ thuộc tính( Properties Windows )
+ Các thuộc tính sẵn có của điều khiển chỉ thiết lập lúc chương trình chạynghĩa là khi chương trình chạy ta có thể thay đổi hành vi của các điều khiển, ví
dụ như ta có thể thay đổi thuộc tính Enable của các điều khiển giúp người sửdụng có thể tương tác hoặc không tương tác với các điều khiển
+ Các thuộc tính sẵn có của điều khiển có thể thiết lập bất kỳ lúc nào, ví dụ: như các thuộc tính FillColor, Font, … có thể thiết lập vào lúc thiết kế
chương trình hoặc lúc chương trình chạy
2.2.4 Project Explorer
Trang 23Do các ứng dụng Visual Basic thường dùng chung mã hoặc các Form đãtuỳ biến trước đó, nên Visual Basic tổ chức các ứng dụng thành các Project MỗiProject có thể có nhiều Form và mã kích hoạt các điều khiển trên một Form sẽđược lưu trữ chung với Form đó trong các tập tin riêng biệt Mã lập trình chung
mà tất cả các Form trong ứng dụng chia sẽ có thể được phân thành các Modulekhác nhau và cũng được lưu trữ tách biệt, gọi là các Module mã Projectexplorer nêu tất cả các biểu mẫu tuỳ biến được và các Module mã chung, tạonên ứng dụng của ta
2.2.5.Các điều khiển dữ liệu ( Data Controls )
a) Sử dụng Data Control:
Để sử dụng Data Control ta thiết lập các thuộc tính của nó để có thể kếtnối đến cơ sở dữ liệu ( Database ) và các bảng ( table ) trong cơ sở dữ liệu đó.Bản thân Data Control không hiển thị dữ liệu, nó chỉ hiển thị dữ liệu khi chúng
ta kết nối nó đến cơ sở dữ liệu cụ thể Thông thường ta ding nó để hiển thị cơ sở
dữ liệu trên Form
b) ADO ( ActiveX Data Object )
- OLEDB ( Object Linking and Embedding Database ):
Mỗi DBMS ( Database Management System ) lưu trữ dữ liệu dưới mộtdạng cụ thể Ví dụ Microsoft Access lưu dữ liệu trong tệp có phần mở rộng là
“.mdb” trong khi đó Foxpro thì lưu tệp dưới dạng “.dbf”, nghĩa là một cơ sở dữliệu ứng dụng muốn phát triển thì phải giữ nguyên kiểu cơ sở dữ liệu cũ Muốnthay đổi DBMS này sang DSMS khác thì phải viết lại ứng dụng để xử lý dữ liệutheo dạng dữ liệu mới Để thực hiện được điều này thì ta cần rất nhiều thời gian
và công sức để tạo lại ứng dụng mỗi khi mà chúng ta muốn thay đổi cơ sở dữliệu, do đó ta cần có cơ chế giải quyết vấn đề này
Trang 24Ta chỉ cần lập trình với phần giao diện người sử dụng ở phía Client Bởi
vì việc truy cập dữ liệu trên cả trình duyệt Web và ứng dụng Visual Basic đượcchuyển hết về phía ActiveX Server để đảm bảo logic chương trình được nhấtquán, bất kể loại ứng dụng nào đang được dùng
- Đặt vấn đề.
Trước đây khi máy tính chưa phát triển và sử dụng chưa rộng rãi thì các
tổ chức chỉ sử dụng một DBMS Cơ sở dữ liệu được sử dụng trong các ứng dụngthì ứng dụng đó phải được viết cụ thể cho loại cơ sở dữ liệu mà ứng dụng đódùng hoặc viết ứng dụng trong chính cơ sở dữ liệu đó
Ngày nay khi mà máy tính đã được sử dụng một cách rộng rãi cùng với sựphát triển mạnh mẽ về phần mềm mà các công ty lớn và nhỏ đã sử dụng nhiềuloại DBMS khác nhau Trong điều kiện như vậy thì ta cần phải có giải pháp đểkhi các tổ chức ( công ty ) sử dụng các DBMS khác nhau thì ta vẫn giao tiếp với
cơ sở dữ liệu đó một cách dễ dàng mà không phải viết lại ứng dụng
- ODBC ( Open Database Connectivity ):
ODBC là công nghệ của Windows và nó là phương thức chuẩn cho phépcác ứng dụng giao tiếp với các DBMS khác nhau và được thực hiện bởi API( Application Programming Interface ) API là tập hợp các hàm hoặc thủ tục cosẵn của Windows để thực hiện một nhiệm vụ cụ thể
ứng dụng sẽ gọi một hàm API để chỉ ra nhiệm vụ cụ thể API được truyềnvào trình biên dịch, trình biên dịch đưa ra lệnh trong ngôn ngữ của DBMS để chỉ
ra nhiệm vụ được yêu cầu
Trình biên dịch hay còn gọi là trình điều khiển ODBC ( ODBC Driver) nóđiều khiển thực hiện các API để hiểu được DBMS Do đó mỗi DBMS có mộttrình điều khiển tương ứng
Trang 25Trình điều khiển nhận lệnh từ ứng dụng và chuyển nó thành dạng màDBMS hiểu được Ngoài ra trình điều khiển ODBC còn nhận kết quả của lệnhthực hiện từ DBMS và truyền lại cho ứng dụng.
- ADO ( ActiveX Data Object ):
- ActiveX : là thế hệ sau của OLEDB, nó chứa đựng tất cả các tính năngcủa OLEDB Ngoài ra, nó còn mở ra rất nhiều các khả năng mới ActiveX chophép người lập trình sử dụng các loại chương trình có sẵn mà không cần quantâm chúng có nguồn gốc từ đâu hay chúng hoạt động như thế nào
- ADO: Là giao diện dùng OLEDB và được giới thiệu trong VisualBasic 6.0 Đây là công nghệ truy cập dữ liệu mới nhất của Microsoft, hơn nữa
nó còn truy nhập được hầu hết các loại dữ liệu được lưu trữ trong các dạng khácnhau ADO còn có một số tính năng mà DAO và RDO không có, ví dụ nhưADO có thể truy cập cơ sở dữ liệu quan hệ và phi quan hệ Nó còn cho phépchúng ta truy cập đến các nguồn dữ liệu khác nhu E-mail, tệp hệ thống, các công
cụ quản lý dự án và các bản tính
- DAO ( Data Access Object ): Trong phiên bản 3.0 thì DAO được giớithiệu Công nghệ này cho phép truy cập và thao tác cơ sở dữ liệu tại chỗ ( cụcbộ) và nó cũng làm việc với các điều khiển để hiển thị dữ liệu nhưng hạn chếcủa nó là không truy cập được các cơ sở dữ liệu từ xa
- RDO ( Remote Data Object ): RDO được thiết kế để truy cập cơ sở dữliệu từ xa và được giới thiệu trong phiên bản Visual Basic 4.0 Nó hiệu quả khitruy cập dữ liệu từ cơ sở dữ liệu quan hệ như là MS SQL Server và Oracle Giớihạn của nó là không truy cập dữ liệu tại chỗ được
- Để truy cập cơ sở dữ liệu ta có thể dùng nhiều công cụ khác nhau củaVisual Basic, trong đồ án này em sẽ trình bày cách truy nhập cơ sở dữ liệu dùngADO
- Truy nhập dữ liệu dùng điều khiển dữ liệu ADO:
Điều khiển dữ liệu ADOlà công cụ dùng để truy cập cơ sở dữ liệu Nócung cấp giao diện trực giác giúp ta khi kết nối cơ sở dữ liệu với ứng dụng chỉcần thiết lập thuộc tính của nó Để sử dụng nó ta chỉ đặt nó lên Form sau đó thiết
Trang 26lập thuộc tính cần thiết Khi thiết lập xong muốn hiển thị dữ liệu lên Form thì tathêm các điều khiển kết hợp với ADO mà không cần viết mã Các điều khiển kếthợp được với ADO nếu chúng có thuộc tính DataSource như CheckBox,ComboBox, Image, Label, ListBox, TextBox,
Để thêm được ADO vào ToolBox trong môi trường Visual Basic ta chọnMenu Project / Components hoặc Ctrl + T sau đó chọn “ Microsoft ADO DataControl 6.0 “ thì trên thanh cụ sẽ xuất hiện công cụ ADODB
Sau khi thêm ADODB vào Form chúng ta thiết lập các thuộc tính và sửdụng nó liên kết với các điều khiển khác
• Kết nối đến nguồn dữ liệu ( DataSource ):
Để kết nối đến nguồn dữ liệu ta thiết lập thuộc tính Connection String củaADO Thuộc tính này chỉ ra vị trí và kiểu cơ sở dữ liệu mà chung ta cần truycập Để đặt thuộc tính này trong cửa sổ thuộc tính của ADO ta chọn thuộc tínhConnectionString và nhấp chuột vào nút “ ” sẽ có một cửa sổ hiện ra
Trong cửa sổ trên có 3 lựa chọn:
- Use Data Link File: chỉ ra xâu kết nối để kết nối đến nguồn dữ liệu bằng cách nhấn chuột vào nút Browse
Trang 27- Use ODBC Data Source Name: cho phép chúng ta sử dụng nguồn dữ liệu được định nghĩa bởi hệ thống, hộp combo sẽ hiển thị danh sách các tên nguồn dữ liệu Để thêm hoặc sửa ta nhấp chuột vào nút New.
- Use Connection String: chỉ ra xâu kết nối đến nguồn dữ liệu bằng cáchnhấp chuột vào nút Build hiển thị cửa sổ sau:
Cửa sổ trên là danh sách các trình cung cấp ( Provider ) tương ứng với cácloại cơ sở dữ liệu Ví dụ như “ Microsoft Jet 3.51 OLEDB Provider ” thì tương ứng với cơ sở dữ liệu tạo trong môi trường Access 97 còn đối với Access 2000
ta dùng “ Microsoft Jet 4.0 OLEDB Provider” sau đó nhấp nút Next
Trang 28Trong cửa sổ trên có các lựa chọn:
1 Select or Enter a database name: chỉ ra vị trí lưu trữ cơ sở dữ liệu bằng cách nhấn vào nút “ ”
2 Enter information to log on to the database: nếu chọn “ Blank
Password” thì khi kết nối cơ sở dữ liệu không yêu cầu ta gõ user Name và Password còn nếu chọn “ Allow saving of password” thì khi kết nối cơ sở dữ liệu yêu cầu ta gõ user name và Password
• Thuộc tính RecordSource:
Thuộc tính RecordSource dùng để lấy ra các bản ghi trong cơ sở dữ liệu, thuộc tính này có thể đặt là “ Tên bảng”, “ Các thủ tục”, “ Câu lệnh SQL”, ta thiết lập như sau:
Trong cửa sổ thuộc tính của ADO chọn RecordSource sau đó nhấp vào nút “ ” cửa sổ sau hiện ra:
Trang 29Trong cửa sổ trên có các thuộc tính cho ta chọn:
AdCmdUnknown Lệnh chưa biết Đây là giá trị mặc định
AdCmdText Cho phép chúng ta nhập vào câu lệnh SQL trong Command
TextBoxxAdCmdTable Hiển thị danh sách các bảng trong cơ sở dữ liệu
AdCmdStoredProc Hiển thị các truy vấn hoặc các thủ tục trong cơ sở dữ liệu
2.2.6 Recordsets
Sau khi chúng ta kết nối được cơ sở dữ liệu ta tiến hành truy nhập đến cácbản ghi, để thực hiện được này ta sử dụng thuộc tính Recordset Thuộc tính Recordset của ADODC ( Active Data Object Data Control ) là một đối tượng được sử dụng để truy nhập đến các bản ghi từ bảng hoặc truy vấn Đối tượng Recordset thực hiện các thao tác sau:
-Thêm bản ghi
-Sửa đổi bản ghi
-Xoá bản ghi
Trang 30a) Thêm bản ghi
Chúng ta sử dụng phương thức “ AddNew” để thêm một bản ghi mới Khichúng ta thêm một bản ghi mới thì ADODC xoá sạch những thông tin mà các điều khiển kết hợp với nó để ta nhập các thông tin cho bản ghi mới Dòng mã sau giúp ta thêm bản ghi mới
Ví dụ: adoSinhvien.Recordset.AddNew
Và bản ghi này trở thành bản ghi hiện thời, khi ta di chuyển đến bản ghi khác thì ta phải ghi bản ghi vừa thêm vào cơ sở dữ liệu Khi đó dùng phương thức “ Save”
Nếu ta không cập nhập bản ghi vừa thêm ta sử dụng phương thức
“ CancelUpdate”
b) Sửa đổi bản ghi
Để sửa đổi bản ghi ta di chuyển đến bản ghi cần sửa đổi, khi sửa đổi xong
ta dùng phương thức “Update” để sửa đổi bản ghi
ví dụ: adoSinhvien.Recordset.Update
c) Xoá bản ghi
Để xoá bản ghi ta sử dụng phương thức Delete, khi bản ghi bị xoá thì cácđiều khiển vẫn còn chứa các thông tin của bản ghi vừa xóa, các thông tin nàymất đi khi ta di chuyển đến bản ghi khác
Ví dụ: adoSinhvien.Recordset.Delete
7 Module Lớp ( Class Module ):
Module lớp là nền tảng của lập trình hướng đối tượng trong Visual Basic,
nó bao gồm nhóm các đối tượng có cùng thuộc tính, có chung hành vi và cóchung mối quan hệ
Khuôn mẫu để tạo đối tượng là Module lớp Sau này Module lớp cònđược dùng để tạo đối tượng ActiveX, đó là một kỹ thuật cao hơn trong lập trìnhhướng đối tượng
Trong bước lập trình căn bản với Visual Basic, ta dùng Module để chứccác hàm hay thủ tục Tuỳ theo tầm hoạt động của các hàm hay thủ tục này ta cóthể gọi chúng trực tiếp từ Module
Trang 31Những Module lớp thì không bao giờ gọi trực tiếp Để sử dụng một lớp ,
ta phải tạo đối tượng từ lớp thông qua lệnh New
Những Module thì có thể gọi trực tiếp Để sử dụng một lớp, ta phải tạođối tượng từ lớp thông qua lệnh New
Những Module thì có thể gọi trực tiếp trong ứng dụng mỗi khi ta cần đến
Ví dụ: ta tạo Class Module có tên là User.cls
Trong môi trường Visual Basic ta chọn Menu Project / Add ClassModule
Từ cửa sổ “ Add Class Module ” ta chọn “ Class Module ” sau đó ta chọnOpen
Trong cửa sổ thuộc tính của Class Module ta chọn “ Name” và gõ tên làUser, tiếp theo là ta viết mã cho Class Module và chọn “ Save” từ Menu “ File”
Trang 32Phần 2
XÂY DỰNG CHƯƠNG TRÌNH
Chương 1
MỘT SỐ VẤN ĐỀ VỀ HỆ THỐNG THÔNG TIN QUẢN LÝ
1.1 NHỮNG ĐẶC ĐIỂM CHUNG VỀ HỆ THỐNG THÔNG TIN QUẢN LÝ
Bài toán chung về quản lý cán bộ là một bài toán lớn được đặt ra và giải quyếtđối với nhiều cơ sở các thang bậc khác nhau về quy mô nhân sự cũng như vị trícủa hệ thống QLNS trong hệ thống quản lý chung
1.1.1 Yêu cầu đối với bài toán quản lý nhân sự :
Quản lý những thông tin của một cán bộ theo yêu cầu của từng cơ sở mộtcách lâu dài : Từ khi nhận cán bộ về cơ sở đến khi nghỉ việc (Về hưu, mất sức,buộc thôi việc, …) hoặc chuyển công tác đến cơ sở khác
Trợ giúp cán bộ quản lý các cơ sở tìm kiếm, xác định đúng đắn cán bộphù hợp các yêu cầu đột xuất của công việc vào thời điểm bất kì do đó cần thayđổi bổ xung thông tin
Trợ giúp cán bộ quản lý đánh giá tình hình nhân sự ở các vị trí công táctheo định kì ( Theo quý hoặc theo năm,…) kịp thời có quyết định phù hợp trongviệc xét cho thôi việc, nghỉ hưu hoặc bồi dưỡng nâng cao trình độ nghiệp vụ củacán bộ cho phù hợp vị trí công tác hoặc tuyển chọn cán bộ mới phù hợp yêu cầu
ở các vị trí còn thiếu hoặc cần người thay
1.1.2.Cơ sở lý thuyết và nguyên tắc quản lý nhân sự cần tuân thủ:
Nguyên tắc:
Dựa vào quy định trong quản lý cán bộ của loại hình cơ sở đặc thù ( Cơ sởhành chính sự nghiệp, cơ sở kinh tế hoặc phúc lợi…) mỗi loại hình cơ sở quantâm đến một số thuộc tính nhất định của mỗi cán bộ để phục vụ yêu cầu cụ thểcủa loại hình cơ sở tương ứng
Dựa trên mô hình quản lý của từng loại cơ sở: Thường ở cơ sở sản xuất,
mô hình này phụ thuộc vào cách tổ chức của lãnh đạo ( Giúp việc là phòng tổchức lao động), cho phù hợp yêu cầu sản xuất và kinh doanh Điều đó yêu cầu
Trang 33người lập trình phải tìm hiểu để nắm được mô hình này, lấy đó làm một trongnhững nguyên tắc để thiết kế.
Bộ chương trình cần giao tiếp tốt với người sử dụng, vì người sử dụngtrực tiếp khai thác hệ thống mà có thể là những người có trình độ tin học thấp,yêu cầu chương trình gần gũi và có sự tương ứng với công việc của họ đã làm để
họ không mất quá nhiều thời gian và công sức làm quen với hệ thống mới
1.1.3 Quy trình sử lý thông tin
Trong quy trình quản lý phổ thông (Cổ điển) các thông tin thường xuyênđược đưa vào sổ sách từ sổ sách các thông tin được kiết xuất để lập các bảngbiểu, báo cáo cần thiết Việc quản lý phổ thông có nhiều công đoạn chồng chéolên nhau chẳng hạn trong công tác kế toán một chứng từ phải vào nhiều sổ sách
để phục vụ cho mục đích khác nhau Do đó các sai sót có thể xảy ra ở nhiềucông đoạn do việc dư thừa thông tin trong quá trình quản lý do khối lượng côngviệc lớn nên nhiều khi chỉ chú trọng vào một số khâu và đối tượng quan trọng vìthế mà không đáp ứng được yêu cầu thời điểm Thông tin chồng chéo nhiều màchưa đủ, quản lý thủ công dễ mất mát thông tin, khó sửa, dễ có khả năng xảy ra
sự cố nhất, ít có khả năng tra cứu gợi mở, khi tính toán thống kê mất nhiều côngsức mà không chính xác, có nhiều thông tin không tổng hợp được đầy đủ
1.2 MÔ HÌNH MỘT HỆ THỐNG THÔNG TIN QUẢN LÝ
1.2.1 Mô hình luân chuyển dữ liệu
Mô hình luân chuyển dữ liệu trong hệ thống quản lý có thể mô tả qua modulsau:
- Cập nhật thông tin có tính chất cố định để lưu trữ tra cứu
- Cập nhật thông tin có tính chất thay đổi thường xuyên
Trang 34Thông tin chi tiết thường rất lớn về số lượng cần xử lý thường xuyên đòi hỏitốc độ nhanh và độ tin cậy nhanh Khi thiết kế Modul này cần quan tâm đến cácyêu cấu sau:
- Phải biết rõ thông tin cần lọc từ thông tin động
- Giao diện màn hình vào số liệu phải đơn giản và hợp lý giảm tối thiểu cácthao tác cho người nhập dữ liệu Tự động nạp các thông tin đã biết và các giá trịlập Kiểm tra và phát hiện tối đa sai sót có thể sảy ra trong quá trình nhập dữliệu Ví dụ tuyển nhân viên vào cơ quan không nhỏ hơn 18 tuổi
- Cập nhật thông tin cố định có tính chất tra cứu
Thông tin loại này cần cập nhật nhưng không thường xuyên Yêu cầu chủ yếuvới thông tin này là phải tổ chức hợp lý để có nhất các thông tin cần thiết
1.3.1.Nguyên tắc cơ sở thông tin thống nhất
Nguyên tắc này thể hiện ở chỗ thông tin được tích luỹ thường xuyên cậpnhật Đó là các thông tin cần thiết phục vụ cho việc giải quyết bài toán quản lý
vì vậy thông tin trùng lặp phải được loại trừ Một điều cần được loại trừ nữa là
để đảm bảo thông tin là sự không nhất quán
Ví dụ: như một đại lượng ở mảng thông tin này thì mang một giá trịnhưng ở mảng thông tin khác lại mang giá trị khác, do vậy ta phải tổ chức cácmảng thông tin cơ bản mà trong đó các trường hợp trùng lặp hoặc không nhấtquán về thông tin đã được loại trừ
1.3.2.Nguyên tắc linh hoạt của thông tin
Thực chất nguyên tắc này là ngoài mảng ta cần phải có công cụ đặc biệt đểtạo ra được các mảng làm việc cố định hay tạm thời dựa trên cơ sở những mảngthông tin cơ bản đã có và chỉ trích từ mảng cơ bản các thông tin cần thiết tạo ramảng làm việc để sử dụng trực tiếp trong bài toán có thể
Trang 35Việc theo nguyên tắc thống nhất và linh hoạt đối với cơ sở thông tin của hệ sẽlàm giảm nhẹ rất nhiều cho nhiệm vụ hoàn thành và phát triển hệ sau này.
1.4.CÁC BƯỚC XÂY DỰNG HỆ THỐNG THÔNG TIN QUẢN LÝ
Một cách tổng quát về hệ thống thông tin quản lý tự động hoá thường qua 5giai đoạn đã được học trong phân tích thiết kế hệ thống
1.4.1 Nghiên cứu sơ bộ và xác lập dự án
ở bước này người ta tiến hành tìm hiểu khảo sát hệ thống phát hiện nhượcđiểm còn tồn tại từ đó đề xuất các giải pháp khắc phục cần cân nhắc tính khả thicủa dự án có định hướng cho các giai đoạn tiếp theo
1.4.2 Phân tích hệ thống
Tiến hành phân tích một cách chi tiết hệ thống hiện tại để xây dựng cáclược đồ khái niệm Trên cơ sở đó tiến hành xây dựng lược đồ cho hệ thống mới
Trang 361.4.3.Thiết kế tổng thể
Nhằm xác định vai trò vị trí của máy tính trong hệ thống mới phải định rõcông việc nào sẽ được sử lý bằng máy tính, phàn việc nào sẽ được sử lý thủcông
1.4.4.thiết kế chi tiết
Thiết kế các thủ tục thủ công nhằm xử lý thông tin trước khi nhập vàomáy tính
Thiết kế các phương pháp cập nhật và xử lý thông tin chi tiết trên máytính
Thiết kế chương trình và giao diện người sử dụng, các tệp dữ liệu
Chạy thử chương trình
1.4.5.Cài đặt chương trình
Chương trình sau khi đã chạy thử phải đảm bảo tốt sẽ được cài đặt và đưavào sử dụng
Trang 37Trong công ty cán bộ công nhân viên được chia làm 2 loại biên chế vàhợp đồng
Mỗi cán bộ công nhân viên trong nhà máy có một vị trí nhất định trongmột tổ sản xuất nào đó của một đơn vị xác định
Tổ chức quản lý cán bộ công nhân viên trong nhà máy là chức năng củaphòng tổ chức lao động nhà máy tiến hành
Mỗi năm có tuyển chọn cán bộ
Cán bộ phòng nội chính thực hiện tuyển chọn nhân viên Các đối tượngtập trung tại nhà máy mang theo hồ sơ xin việc để qua sát hạch về chuyên môntại phòng kỹ thuật, sức khoẻ tại phòng y tế…
Khi đối tượng đã qua sát hạch được nhận vào nhà máy hồ sơ được tiếpnhận và quản lý
Nhân viên được đưa vào một đơn vị sản xuất nhất định
Từ đó các thông tin về nhân sự được cập nhật vào các sổ lưu trữ
Vào cuối năm hoặc khi có vấn đề đột xuất một số đối tượng không có đủyếu tố làm việc tại nhà máy (Vi phạm kỉ luật, vì sức khẻo, tuổi tác…) việc huỷ
bỏ thông tin được đặt ra
Hàng năm trong những dịp lễ tết hoặc hết tháng, hết quý, nửa năm, cảnăm…nhà máy có thưởng nhằm khuyến khích sản xuất mức thưởng dựa trêntiêu chuẩn nhất định đó có các tiêu chuẩn dựa trên các thông tin về nhân sự (Sốnăm làm việc, chức danh đối tượng…) hoặc khi cần người có đủ các yêu cầu:Sức khoẻ, năng lực, tuổi tác để phục vụ cho một vị trí nào đó Yêu cầu tìm kiếmđược đặt ra
Trang 38Thường thì mỗi thời điểm, một nhân viên làm việc tại một vị trí nhất địnhđược xác định bởi một đơn vị sản xuất và tổ sản xuất, nhưng do yêu cầu của sảnxuất hoặc do cần thử các năng lực của nhân viên nào đó và việc chuyển vị trícông tác trong nhà máy (Chuyển đơn vị công tác hoặc chuyển tổ trong cùng mộtđơn vị là khá thường xuyên) nhất là giai đoạn đầu mới nhận cán bộ hoặc giaiđoạn cán bộ chuẩn bị nhận cán bộ mới Yêu cầu chức năng chuyển đặt ra với hệthống.
Hệ thống lưu trữ các thông tin:
Các thông tin về cá nhân bao gồm: Họ tên, ngày sinh, giới tính, sốCMND, trình độ chuyên môn, trình độ ngoại ngữ, hộ khẩu thường trú, địa chỉ,dân tộc, tôn giáo, ngày vào đoàn, ngày vào đảng, cha mẹ anh chị em, con cái, sốđiện thoại và các thông tin khác
Phải lưu được quá trình công tác, khen thưởng kỷ luật, ngày chuyển côngtác, ngày nhận công tác
Trang 39Chương 3
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG THÔNG TIN QUẢN LÝ
Muốn xây dựng và thiết kế một hệ thống thông tin quản lý thì vấn đề đầutiên là phải phân tích hệ thống nhằm tìm và lựa chọn giải pháp thích hợp, biệnpháp cụ thể
Phân tích là công việc đầu tiên của quá trình xây dựng hệ quản lý trênmáy vi tính Không thể tin học hoá công tác quản lý mà không qua giai đoạnphân tích Hiệu quả của công việc quản lý hoàn toàn phụ thuộc vào quá trínhphân tích ban đầu
Trong quá trình phân tích để chuyển sang bài toán quản lý trên máy vitính thì các sơ đồ chức năng và sơ đồ luồng dữ liệu giúp ta dễ dàng xác địnhđược yêu cầu của người dùng Giúp ta có thể tổng quát về cách quản lý thực tế
và hệ thống mà ta sẽ thiết kế
3.1.THÔNG TIN ĐẦU VÀO ĐẦU RA CỦA HỆ THỐNG
3.1.1 Thông tin đầu vào
- Nhập số liệu, sửa, huỷ dữ liệu, chuyển
- Các câu hỏi về tìm kiếm theo các thuộc tính từ đơn lẻ đến tổng hợp, tính toáncác thông số nhân sự, hỏi đáp về một số cán bộ hoặc một số đơn vị trong nhàmáy
3.1.2 Thông tin đầu ra
Thực hiện việc xem in một số thông tin về nhân viên cụ thể, hoặc thông tin về
cả nhà máy hoặc thông tin về một đơn vị trong nhà máy Xem và in một sốthuộc tính riêng lẻ (Trình độ chuyên môn, về đảng, ngày sinh…)
Thoả mãn các yêu cầu tìm kiếm
Trang 40a) Sơ đồ phân cấp quản lý
Mô hình phân cấp chức năng: