Xuất phát từ những điểm đó, sau một thời gian thực tập tại Trung tâm thôngtin Thư viện trường Đại học Kinh tế Quốc dân, vận dụng những kiến thức về tinhọc đã được trau dồi trong thời g
Trang 1Mục lục
Lời mở đầu 3
Chơng I – tổng quan về cơ sở thực tập & đề tài nghiên cứu 5
1 Giới thiệu tổng quỏt về Trung tõm Thụng tin Thư viện (TT.TT.TV) ĐH Kinh tế Quốc dõn 5
1.1 Cơ cấu tổ chức và chức năng của cỏc bộ phận trong Trung Tõm 5
1.2 Cỏc nghiệp vụ cơ bản của Trung tõm 9
1.3 Giới thiệu về phần mềm quản lý thư viện mà Trung tõm đang sử dụng (Phần mềm Libol) 10
2 Về đề tài “Xõy dựng phần mềm Convert dữ liệu CSDL Access sang CSDL SQL Server” 13
2.1 Lý do chọn đề tài 13
2.2 Cỏc cụng cụ sử dụng trong đề tài 14
Chơng ii – phơng pháp luận xây dựng phần mềm - kháI quát về công cụ sử dụng……… 15
1 Phương phỏp luận xõy dựng phần mềm 15
1.1 Khỏi niệm phần mềm 15
1.2 Cỏc đặc trưng của phần mềm 15
1.3 Khỏi niệm cụng nghệ phần mềm 15
1.4 Tổng quan về cỏc ngụn ngữ lập trình 16
1.3 Quy trình phỏt triển phần mềm 18
1.3 Nền tảng thiết kế phần mềm 19
2 Cỏc vấn đề về phõn tớch hệ thống 23
2.1 Cỏc phương phỏp thu thập thụng tin 23
2.2 Mó húa dữ liệu 24
2.3 Cụng cụ mụ hình húa 25
3 Lý thuyết về cơ sở dữ liệu 29
3.1 Khỏi niệm về cơ sở dữ liệu và hệ quản trị cơ sở dữ liệu 29
2.2 Cỏc khỏi niệm của cơ sở dữ liệu 30
2.3 Mụ hình quan hệ 30
2.3 Thiết kế cơ sở dữ liệu logic đi từ cỏc thụng tin ra 32
3 Khỏi quỏt về cỏc cụng cụ sử dụng trong đề tài 33
3.1 Khỏi quỏt về hệ quản trị cơ sở dữ liệu Access và SQL server 33
Trang 23.2.Giới thiệu ngôn ngữ lập trình Visual Basic 6.0 36
Ch¬ng iii – ph©n tÝch vµ thiÕt kÕ phÇn mÒm convert d÷ liÖu tõ csdl access sang csdl sql server……….40
1 Phân tích tổng thể 40
1.1 Sơ đồ chức năng của phần mềm 40
1.2 Sơ đồ luồng dữ liệu mức ngữ cảnh 44
1.3 Sơ đồ luồng dữ liệu mức 0 45
2 Thiết kế cơ sở dữ liệu 45
2.1 Liệt kê các thông tin đầu ra 45
2.2 Chuẩn hóa dữ liệu 48
2.3 Tích hợp các tệp 51
2.4 Thiết kế các tệp dữ liệu 52
2.2 Sơ đồ quan hệ thực thể 55
3 Các thuật toán chính trong chương trình 56
3.1 Thuật toán đăng nhập chương trình 56
3.2 Thuật toán thêm dữ liệu 57
3.3 Thuật toán sửa dữ liệu 58
3.4 Thuật toán xóa dữ liệu 59
3.5 Thuật toán Convert dữ liệu 60
3.6 Thuật toán tìm kiếm 60
3.6 Thuật toán tìm kiếm 61
4 Các giao diện chính của chương trình 62
4.1 Màn hình đăng nhập 62
4.2 Giao diện chính của chương trình 62
4.3 Màn hình quản lý người dùng 63
4.4 Màn hình đổi mật khẩu đăng nhập 64
4.5 Màn hình biên mục dữ liệu bạn đọc 65
4.5 Màn hình kết nối dữ liệu 68
4.6 Màn hình Convert dữ liệu 69
4.7 Màn hình tìm kiếm 70
4.8 Màn hình giới thiệu phần mềm 71
kÕt luËn 72
phô lôc……….76
Trang 3lêi nãi ®Çu
iện nay trên Thế giới ở bất kỳ một quốc gia nào việc cho ra đời các phần mềm thaythế lao động thủ công của con người tăng một cách nhanh chóng, các tổ chức sảnxuất phần mềm cũng như số lượng phần mềm ngày càng nhiều Tuy nhiên, mộtphần mềm ra đời có giá trị khi nó phục vụ tốt cho lợi ích thiết thực của tổ chức,cho dù đó chỉ là một phần mềm rất nhỏ Chính vì vậy, những người làm công tácxây dựng phần mềm phải đặc biệt chú ý đến tính thực tế và lợi ích mà phần mềm
sẽ đem lại khi đưa vào ứng dụng
Mặt khác, công nghệ thông tin ngày càng phát triển nhằm giải phóng sức laođộng của con người, đồng thời làm tăng năng suất lao động Do đó, việc tin họchóa phải được tiến hành không chỉ từ những công việc phức tạp mà còn thực hiệnngay cả ở những khâu nhỏ nhất trong sản xuất
Xuất phát từ những điểm đó, sau một thời gian thực tập tại Trung tâm thôngtin Thư viện trường Đại học Kinh tế Quốc dân, vận dụng những kiến thức về tinhọc đã được trau dồi trong thời gian học tại trường, em đã xây dựng phần mềmConvert dữ liệu, từ cơ sở dữ liệu Access sang cơ sở dữ liệu SQL Server Phần mềmnày đáp ứng được yêu cầu thực tế tại trung tâm, giúp giảm bớt thời gian và côngsức cho các nhân viên khi xây dựng, biên soạn cơ sở dữ liệu lưu trữ thông tin vềbạn đọc của thư viện, công việc mà hiện tại họ còn phải làm thủ công, mất rấtnhiều thời gian, lại khó thực hiện
H
Trang 4Chương II - Phương pháp luận xây dựng phần mềm và khái quát về công
cụ sử dụng trong đề tài Trong chương này sẽ trình bày khái quát các vấn đề về
phần mềm, xây dựng phần mềm và lý thuyết về cơ sở dữ liệu, kỹ thuật thiết kế cơ
sở dữ liệu Các công cụ sử dụng trong đề tài cũng sẽ được giới thiệu trong phầnnày
Chương III – “Phân tích và thiết kế phần mềm Convert dữ liệu từ cơ sở
dữ liệu Access sang cơ sở dữ liệu SQL Server ở trung tâm thông tin thư viện ĐH Kinh tế Quốc dân”, trình bày chi tiết và theo trình tự những bước và những
phương pháp xây dựng phần mềm Convert dữ liệu: thiết kế cơ sở dữ liệu, các thuậttoán, các giao diện chính trong chương trình phần mềm
Em xin cảm ơn TS Cao Đình Thi và GV-ThS Đào Thiện Quốc – cán bộ tạitrung tâm thông tin thư viện ĐH Kinh tế Quốc dân đã hướng dẫn, giúp đỡ em hoànthành tốt chuyên đề thực tập này
Trang 5Chơng I – tổng quan về cơ sở thực tập và đề tài nghiên
cứu
1 Giới thiệu tổng quỏt về Trung tõm Thụng tin Thư viện (TT.TT.TV)
ĐH Kinh tế Quốc dõn
1.1 Cơ cấu tổ chức và chức năng của cỏc bộ phận trong Trung Tõm
Trung tõm thụng tin thư viện là một bộ phận quan trọng của trường Đại họcKinh tế Quốc dõn, đặt tại 207, Đường Giải Phúng, Quận Hai Bà Trưng, Hà Nội
Trung tõm là một trong những trung tõm thư viện với số lượng tài liệu núichung và cỏc tài liệu chuyờn ngành kinh tế khỏ lớn Trung tõm phục vụ nhu cầu vềsỏch, bỏo, tạp chớ, kỷ yếu, luận văn… cho tất cả cỏn bộ cụng nhõn viờn, nghiờn cứusinh và sinh viờn trong trường
Trung tõm ra đời từ khi trường ĐH Kinh tế Quốc dõn thành lập, tức là cỏchđõy gần 50 năm Từ khi được xõy dựng và trang bị đến giờ, trung tõm đó dần đượchoàn thiện về đội ngũ cỏn bộ, về trang thiết bị và cỏc tài liệu phục vụ bạn đọc Chođến nay, trung tõm đó cú đầy đủ cỏc phũng ban với cỏc chức năng nghiệp vụ củamột thư viện lớn Đặc biệt từ khi đưa phần mềm Libol vào sử dụng thì cỏc hoạtđộng của trung tõm được thực hiện cú chất lượng hơn, đỏp ứng đầy đủ và nhanhchúng nhu cầu của bạn đọc
Trung tõm cú quan hệ với nhiều trung tõm thư viện lớn khỏc như thư việncủa cỏc trường ĐH tại địa bàn Hà Nội cũng như cỏc trung tõm thư viện trờn cảnước, liờn hệ với nhiều nhà xuất bản và với cỏc tũa soạn bỏo…
Hiện tại hầu hết cỏc nghiệp vụ ở trung tõm đó được tin học húa, cỏc phũngban đều được trang bị mỏy tớnh và cú một mạng cục bộ riờng Tất cả cỏn bộ đều sửdụng thành thạo phần mềm Libol mà trung tõm đang sử dụng Phần mềm này cúmột phõn hệ tra cứu tài liệu, bạn đọc cú thể sử dụng để tìm mó tài liệu cỏc loại mộtcỏch nhanh chúng Hàng năm, trung tõm tổ chức cỏc buổi giới thiệu và hướng dẫn
để bạn đọc cú thể sử dụng phõn hệ này
Trang 6BAN GIÁM ĐỐC TRUNG TÂM
PHÒNG ĐỌC TÀI LIỆU
PHÒNG MƯỢN TÀI LIỆU
PHÒNG MÁY TÍNH CHỦ
PHÒNG TRA CỨU TÌM TIN
Các bộ phận tại Trung tâm được tổ chức theo sơ đồ sau:
1.1.1 Phòng thông tin thư mục
Đây là một phòng ban đầu tiên của trung tâm thư viện ĐH Kinh tế Quốcdân, nó có những nhiệm vụ và chức năng cụ thể như sau:
- Làm thư mục chuyên đề
- Làm dữ liệu tạp chí: Phân loại, định từ khoá, tóm tắt nội dung, nhập dữ liệuvào máy tính
- Tóm tắt sách tiếng việt
- Tổ chức biên dịch những tài liệu cần thiết
- Tổ chức các buổi giới thiệu sách hoặc những thông tin về khoa học kinh tế
xã hội mới nhất
- Tổ chức làm bản tin kinh tế xã hội
- Ghi chép đẩy đủ tất cả những số liệu cần thiết, những vấn đề liên quan tớicông việc của phòng và lưu trữ đầy đủ các giấy tớ chứng từ; sổ sách ghi chép đó
1.1.2 Phòng bổ sung và nghiệp vụ
- Làm các thủ tục xử lý nghiệp vụ và thủ tục quản lý tài sản đối với sách tiếngviệt mới nhập về thư viện
- Phân loại sách tiếng việt
- Vào sổ đăng ký các biệt các loại sách tiếng việt mới
Trang 7- Đánh ký hiệu, số đăng ký cá biệt, số xếp kho sách tiếng việt và phân chiasách cho các phòng đọc.
- Dán mã vạch và nhãn số đăng ký đặc biệt, dán nhãn màu cho từng loại sáchtiếng việt
- Xếp phích công cụ sách tiếng việt
- Ghi chép đầy đủ những số liệu xuất, nhập tài liệu; những vấn đề liên quanđến công việc của phòng và lưu trữ đầy đủ các giấy tờ chứng từ; sổ sách ghi chépđó
1.1.3 Phòng đọc tài liệu
Phòng này có nhiệm vụ quản lý tài liệu cho mượn tại chỗ, bao gồm phòngđọc báo, phòng đọc sách tiếng việt, phòng đọc ngoại văn, phòng đọc luận văn (chỉdành cho sinh viên năm cuối, nghiên cứu sinh và giáo viên), phòng có các chứcnăng cụ thể như sau:
- Nhận sách, báo, tạp chí mới; phân loại; sắp xếp tài liệu theo chuyên ngành
- Định từ khoá sách tiếng việt
- Giám sát, hướng dẫn và phục vụ bạn đọc tại chỗ
- Sắp xếp lại tài liệu sau mỗi buổi phục vụ
- Phục hồi lại mã vạch, nhãn số đăng ký đặc biệt, nhãn màu cho từng loại sách
và phục hồi sách hư hỏng nhẹ của phòng mình Nếu khi nào số lượng công việcquá nhiều, phòng báo cáo để Ban giám đốc có phương án hỗ trợ
- Theo dõi số lượng bạn đọc và tình hình phòng đọc để cuối mỗi tháng báocáo
- Ghi chép đầy đủ tất cả các số liệu xuất, nhập tài liệu; những vấn đề liên quantới công việc của phòng và lưu trữ đầy đủ các giấy tờ chứng từ; sổ sách ghi chépđó
1.1.4 Phòng cho mượn tài liệu
Đây là phòng quản lý các tài liệu trong kho kín, cho bạn đọc mượn về nhà,
nó thực hiện các chức năng sau:
Trang 8- Nhận sách mới, phân loại sắp xếp vào kho theo nguyên tắc xếp kho.
- Nhận yêu cầu và làm các thủ tục cho bạn đọc mượn sách
- Làm các thủ tục nhận sách bạn đọc trả
- Theo dõi và viết giấy đòi sách bạn đọc mượn quá hạn Nếu bạn đọc nào đểsách quá hạn nhiều, phòng báo cáo để Ban giám đốc có phương án xử lý
- Sắp xếp sách bạn đọc trả sau mỗi buổi phục vụ
- Phục hồi lại mã vạch, nhãn số đăng ký đặc biệt, nhãn màu cho từng loại sách
và phục hồi sách hư hỏng nhẹ của phòng mình Nếu khi nào số lượng công việcquá nhiều, phòng báo cáo để Ban giám đốc có phương án hỗ trợ
- Theo dõi số lượng bạn đọc và tình hình phòng đọc để cuối mỗi tháng báocáo
- Ghi chép đầy đủ tất cả các số liệu xuất, nhập tài liệu; những vấn đề liên quantới công việc của phòng và lưu trữ đầy đủ các giấy tờ chứng từ; sổ sách ghi chépđó
1.1.5 Phòng máy tính chủ
- Nhập dữ liệu sách tiếng Việt vào máy tính
- Quản lý cơ sở dữ liệu
- Quản trị hệ thống mạng
- In phích sách, in mã vạch
- Theo dõi, quản lý về mặt kỹ thuật hệ thống máy tính
- Thông báo sách mới kịp thời lên mạng
- Đưa những thông tin hoặc thông báo mới của Trung tâm lên mạng
- Phổ biến những kiến thức mới về tin học nói chung, hướng dẫn cách sử dụngcác phân hệ phần mềm quản trị thư viện – Libol nói riêng cho cán bộ Trung tâm
1.1.6 Phòng tra cứu tìm tin
Trong phòng có hệ thống máy tính, tủ phích và thư mục để bạn đọc tra cứuthông tin trên giấy và trên mạng máy tính Nhiệm vụ của nhân viên tại phòng nàylà:
Trang 9- Luôn chuẩn bị tốt hệ thống máy tính để bạn đọc sử dụng tìm tin.
- Hướng dẫn bạn đọc tra cứu dữ liệu tài liệu của Trung tâm và dữ liệu điện tửtrực tuyến (Online)
- Quản lý, theo dõi về mặt kỹ thuật những máy tính của phòng
- Sửa chữa, cài đặt phần mềm cần thiết cho các máy tính của phòng
- Xếp phích sách phục vụ và cập nhật đều các thư mục chuyên đề mới, mụclục báo tạp chí mới
- Bổ sung kịp thời phích sách, thư mục, mục lục báo tạp chí bị mất hoặc ráchnát
- Theo dõi số lượng bạn đọc và tình hình phòng đọc để cuối mỗi tháng báocáo
- Ghi chép đầy đủ tất cả các số liệu xuất, nhập tài liệu; những vấn đề liên quantới công việc của phòng và lưu trữ đầy đủ các giấy tờ chứng từ; sổ sách ghi chépđó
1.2 Các nghiệp vụ cơ bản của Trung tâm
1.2.1 Nghiệp vụ làm biên mục sách
Khi tài liệu được chuyển tới từ các nhà cung cấp, thư viện làm chức năngphân loại, phân bố, lưu giữ thông tin về các loại tài liệu Khi cho mượn và nhận trả,thư viện lại lưu giữ thông tin về những tài liệu được mượn Đồng thời thư việncũng làm chức năng thống kê tài liệu phục vụ việc tra cứu tài liệu của bạn đọc, báocáo lên ban quản lý thư viện các thông tin về tài liệu hiện có trong thư viện và tìnhtrạng của chúng
1.2.2 Nghiệp vụ quản lý mượn trả
Khi cho sinh viên mượn, sau đó sinh viên trả tài liệu, thư viện sẽ lưu giữnhững thông tin cá nhân của mỗi sinh viên theo quy định Mỗi sinh viên được cấpmột thẻ mượn để mượn tài liệu Chức năng của nghiệp vụ này còn bao gồm xử lýviệc mượn quá hạn của sinh viên, những trường hợp mượn làm hỏng tài liệu
Trang 101.2.3 Nghiệp vụ quản lý nhân viên
Thư viện lưu giữ thông tin các nhân viên để quản lý, tổ chức, bố trí vị trí làmviệc, mỗi bộ phận, phòng ban trong thư viện được quy định số nhân viên nhất định,các nhân viên này có những nhiệm vụ riêng trong các phòng ban đó
1.2.4 Nghiệp vụ quản lý nhà cung cấp
Mỗi khi nhập tài liệu từ các nhà cung cấp, thư viện đều lưu giữ thông tin vềcác nhà cung cấp đó, bổ sung, cập nhật hoặc sửa đổi, xóa bỏ thông tin về một hoặcmột số nhà cung cấp
1.2.5 Nghiệp vụ quản lý sinh viên
Mỗi năm khi có khóa sinh viên mới nhập học, thư viện có nhiệm vụ làm thẻthư viện cho các sinh viên này, thông tin của các sinh viên này được lấy từ phòngquản lý sinh viên Thư viện cũng có nhiệm vụ sửa đổi, làm lại thẻ thư viện cho cácsinh viên các khóa trong trường Đồng thời thư viện lưu trữ thông tin của sinh viêntrong một hồ sơ riêng để hỗ trợ việc quản lý của các bộ phận nghiệp vụ khác
1.3 Giới thiệu về phần mềm quản lý thư viện mà Trung tâm đang sử dụng (Phần mềm Libol)
1.3.1 Giới thiệu tổng quát
Libol là giải pháp phần mềm tự động hóa thư viện tổng thể và trọn vẹn đượcCông ty Tinh Vân, Thư viện Quốc Gia và Trung tâm Thông tin tư liệu Khoa học
và Công nghệ Quốc gia phối hợp nghiên cứu và phát triển Phần mềm Libol đãnhận được tài trợ chính thức từ Ban chỉ đạo Chương trình Quốc Gia về Công nghệthông tin trong chương trình tài trợ cho các phần mềm nội địa năm 1998
Libol có thể được triển khai trên nhiều mô hình thư viện khác nhau Các thưviện này có thể là thư viện đóng hoặc mở, là những thư viện truyền thống nhưnhững thư viện công cộng, thư viện của các trường đại học, các trung tâm thôngtin, các thư viện chuyên ngành cho đến những thư viện điện tử quy mô lớn
Libol gồm các phân hệ được tích hợp trong một cơ sở dữ liệu chung và có
cơ chế vận hành thống nhất Từ mọi điểm trong chương trình, người dùng luôn
Trang 11luôn có thể hoán chuyển vị trí làm việc giữa các phân hệ Các phân hệ mới sẽ đượctiếp tục cập nhật thêm vào chương trình và các phân hệ hiện có cũng sẽ luôn đượccập nhật để đáp ứng được những nhu cầu thực tế của thư viện cũng như tận dụngđược những công nghệ mới của ngành công nghệ thông tin
Libol có khả năng quản lý được các loại ấn phẩm đa dạng với số lượng lớn,
có thể tới hàng triệu bản ghi
Libol được chuẩn hóa thông qua việc tuân thủ mọi tiêu chuẩn nghiệp vụ thưviện Việt Nam hiện đang được áp dụng tại Thư viện Quốc Gia và Trung tâm thôngtin Tư liệu Khoa học và Công nghệ Quốc Gia, cũng như tuân thủ các tiêu chuẩnquốc tế như tiêu chuẩn ISO 2709, chuẩn UNIMARC của tổ chức IFLA, USMARC,chuẩn tìm kiếm liên thư viện Z39.50
Libol hỗ trợ đa ngữ, hỗ trợ tiếng Việt một cách đầy đủ (cho phép tìm kiếm
và sắp xếp theo bảng chữ cái và các dấu tiếng Việt) Libol hỗ trợ Unicode
1.3.2 Các phân hệ
Chương trình Libol hoạt động trên một cơ sở dữ liệu và cơ chế quản lýthống nhất Tuy vậy, để đảm bảo rằng các quy tắc nghiệp vụ được phân tách rõràng, chương trình Libol hiện thời được chia thành 7 phân hệ
Do thông tin được chia sẻ giữa các phân hệ, một phân hệ có thể khai thác tối
đa lượng dữ liệu liên quan đến quy tắc nghiệp vụ mà nó đảm trách từ cơ sở dữ liệuchung trong khi người sử dụng phân hệ chỉ cần nhập một lượng thông tin ít hơn rấtnhiều
Tuy nhiên, các phân hệ cũng được thiết kế với mức độc lập sao cho sự thayđổi cấu trúc cơ sở dữ liệu liên quan đến phân hệ này sẽ không làm ảnh hưởng đến
sự vận hành của các phân hệ khác
Trang 12Phân hệ Mượn liên thư viện
Phân hệ Quản lý người sử dụng
Phân hệ tra cứu cho phép bạn đọc có thể tìm kiếm bất cứ dạng ấn phẩm nào
theo tổ hợp logic của nhiều tiêu chí khác nhau Các mẫu tìm kiếm có thể được tuỳbiến để phù hợp với tính chất dữ liệu và yêu cầu cụ thể của từng thư viện
Phân hệ Biên mục thực hiện việc thay đổi nội dung của cơ sở dữ liệu như
nhập thêm thông tin của một ấn phẩm mới, sửa các thông tin của một ấn phẩmtrong cơ sở dữ liệu hay xóa thông tin của một ấn phẩm khỏi cơ sở dữ liệu
Phân hệ Bạn đọc cho phép quản lý và cập nhật thông tin của cộng đồng
người đọc được cấp phát thẻ đọc (hoặc thẻ mượn)
Phân hệ Mượn và trả ấn phẩm dùng để quản lý và ghi lại việc người đọc
mượn và hoàn trả các ấn phẩm thư viện, từ đó để ra các báo cáo thống kê về tầnsuất, số lượt mượn ấn phẩm cũng như các tra cứu, tổng kết số ấn phẩm đang ởtrong tay bạn đọc, đang bị giữ quá hạn,
Phân hệ Bổ sung dùng để quản lý sự thay đổi số lượng của các ấn phẩm
trong thư viện kể từ lúc đăng ký vào thư viện cho đến mọi thay đổi như mất mát,
Trang 13thanh lý, bổ sung thêm của ấn phẩm trong suốt quá trình tồn tại của nó trong thưviện
Phân hệ ấn phẩm định kỳ cho phép quản lý các dạnh ấn phẩm phát hành
tiếp tục như báo, tạp chí, tập san, niên giám
Phân hệ quản lý người dùng được sử dụng bởi người quản trị hệ thống để
thay đổi, thêm mới hay xoá các tài khoản truy cập của người dùng vào các Phân hệcòn lại của chương trình cũng như thay đổi quyền truy cập của những người dùngnày đến các phân hệ của chương trình
2 Về đề tài “Xây dựng phần mềm Convert dữ liệu CSDL Access sang CSDL SQL Server”
2.1 Lý do chọn đề tài
Hiện tại thông tin về bạn đọc của Thư viện được lưu trữ trong cơ sở dữ liệuSQL Server Song thực tế những thông tin này bắt nguồn từ những bộ phận kháctrong trường như: phòng Công tác chính trị và quản lý sinh viên được gửi đến thưviện trong cơ sở dữ liệu Access Việc chuyển đổi cơ sở dữ liệu dưới hai dạng nhưvậy cần phải được tin học hóa để tiết kiệm thời gian, chi phí đồng thời tăng đượctính chính xác của thông tin sau khi chuyển đổi
Từ tình hình thực tế đó tại Trung tâm thư viện, em đã chọn đề tài “Xây dựngphần mềm Convert dữ liệu từ CSDL Access sang CSDL SQL Server” Phần mềmnày sẽ mang lại những lợi ích sau đây:
- Cho phép cán bộ trung tâm thư viện hay bất cứ phòng ban, bộ phận nào muốnlưu trữ thông tin về cán bộ, nghiên cứu sinh và sinh viên trong trường có thể biênmục những thông tin đó một cách dễ dàng và nhanh chóng vào cơ sở dữ liệuAccess
- Sau công việc biên mục dữ liệu trên cơ sở dữ liệu Access, cán bộ thưviện có thể chuyển đổi dữ liệu đó sang cơ sở dữ liệu SQL server mà Libol đang sử
Trang 142.2 Các công cụ sử dụng trong đề tài
Để xây dựng được phần mềm convert dữ liệu như trên cần sử dụng rất nhiềunhững kiến thức về tin học như: kiến thức về xây dựng, thiết kế phần mềm; nhữnghiểu biết về hệ thống thông tin; cách thức xây dựng hệ thống thông tin cho một tổchức thì mới có thể tạo ra một phần mềm đáp ứng được yêu cầu của tổ chức đó…Đồng thời phải sử dụng thành thạo các công cụ xây dựng phần mềm như: cơ sở dữliệu, các ngôn ngữ lập trình… và rất nhiều những kiến thức khác liên quan
Cụ thể trong đề tài này, em có sử dụng những công cụ sau:
- Phương pháp phân tích, thiết kế hệ thống thông tin
- Phương pháp xây dựng phần mềm
- Thiết kế cơ sở dữ liệu
- Ngôn ngữ lập trình Visual Basic 6.0
Các công cụ này sẽ được giới thiệu chi tiết hơn trong phần sau của chuyên đề
Trang 15Ch ¬ng ii – ph¬ng ph¸p luËn x©y dùng phÇn mÒm vµ
kh¸I qu¸t vÒ c«ng cô sö dông
1 Phương pháp luận xây dựng phần mềm
1.1 Khái niệm phần mềm
Theo Tiến sỹ Roger Presman một chuyên gia về công nghệ phần mềm của
Mỹ thì Phần mềm là:
- Các chương trình máy tính
- Các cấu trúc dữ liệu cho phép chương trình xử lý các thông tin thích hợp
- Các tài liệu mô tả phương thức sử dụng các chương trình ấy
1.2 Các đặc trưng của phần mềm
Phần mềm là phần tử hệ thống lôgíc chứ không phải là hệ thống vật lý do đó
nó có những đặc trưng khác với hệ thống phần cứng
Phần mềm có các đặc trưng sau đây:
- Phần mềm được kỹ nghệ hóa nó không được chế tạo theo nghĩa cổ điển
- Phần mềm không bị hỏng đi trong quá trình sử dụng
- Phần mềm được xây dựng theo đơn đặt hàng chứ không lắp ráp từ các thànhphần có sẵ̉n
1.3 Khái niệm công nghệ phần mềm
Công nghệ phần mềm - Software Technology bao gồm một tập hợp với 3
yếu tố chủ chốt - Phương pháp, Công cụ và Thủ tục - giúp cho người quản lý có
thể kiểm soát được quá trình phát triển phần mềm và cung cấp cho kỹ sư phầnmềm một nền tảng để xây dựng một phần mềm chất lượng cao
Các phương pháp của công nghệ phần mềm đưa ra cách làm về mặt kỹ
thuật để xây dựng phần mềm Nội dung của các phương pháp bao gồm:
- Lập kế hoạch và ước lượng dự án phần mềm
- Phân tích yêu cầu hệ thống và phần mềm
- Thiết kế cấu trúc dữ liệu
Trang 16- Thiết kế chương trình và các thủ tục
- Mã hoá
- Bảo trì
Các công cụ của công nghệ phần mềm cung cấp sự hỗ trợ tự động hay bán
tự động cho các phương pháp Tiêu biểu là Công nghệ phần mềm có máy tính hỗ trợ CASE
Các thủ tục của Công nghệ phần mềm là chất keo dán phương pháp và công
cụ lại với nhau
1.4 Tổng quan về các ngôn ngữ lập trình
Các thành phần của phần mềm được xây dựng bằng cách dùng một ngônngữ lập trình với vốn từ vựng hạn chế và một văn phạm hoàn toàn xác định
Ngôn ngữ thế hệ thứ nhất
Tiêu biểu nhất của ngôn ngữ thế hệ thứ nhất là hợp ngữ Các ngôn ngữ thế
hệ thứ nhất có đặc điểm là phụ thuộc rất mạnh vào từng máy tính điện tử cụ thể vàmức độ trìu tượng của các chương trình thường rất thấp
Ngôn ngữ thế hệ thứ hai
Ngôn ngữ thế hệ thứ hai được phát triển từ cuối những năm 1950 và đầunhững năm 1960 Các ngôn ngữ thế hệ hai được đặc trưng bởi việc sử dụng mộtthư viện các chương trình phần mềm rất lớn được sử dụng rộng rãi trong rất nhiềulĩnh vực khác nhau
FORTRAN là ngôn ngữ thế hệ thứ hai được áp dụng rất phổ biến trong việcgiải quyết các bài toán KHKT
COBOL là ngôn ngữ thế hệ thứ hai được ứng dụng rất rộng rãi trong cáclĩnh vực thương mại và xử lý dữ liệu COBOL có khả năng định nghĩa dữ liệu mộtcách gọn gàng, chính xác
BASIC là ngôn ngữ lập trình phi cấu trúc Khi xuất hiện máy tính cá nhânIBM PC, ngôn ngữ BASIC lại được phát triển rất mạnh với rất nhiều bản khácnhau như QBASIC, GWBASIC, BASICA,
Trang 17 Ngôn ngữ thế hệ thứ ba
Ngôn ngữ lập trình thế hệ thứ ba còn được gọi là ngôn ngữ lập trình hiệnđại Nét đặc trưng của các ngôn ngữ này là khả năng cấu trúc rất phong phú và cácthủ tục mạnh Các ngôn ngữ thế hệ thứ ba có thể chia thành ba nhóm là:
- Ngôn ngữ cấp cao vạn năng
- Ngôn ngữ cấp cao hướng đối tượng
- Ngôn ngữ chuyên dụng
Ngôn ngữ cao cấp vạn năng
ALGOL là ngôn ngữ lập trình vạn năng rất phát triển với việc đưa ra các kếtcấu thủ tục và định kiểu dữ liệu
Trên cơ sở của ALGOL người ta đã sáng tạo ra các ngôn ngữ lập trình vạnnăng khác như PL/1, PASCAL, MODULA-2, C và ADA có rất nhiều ứng dụngtrong khoa học cũng như trong kinh tế và thương mại
PL/1 có thể coi như ngôn ngữ thế hệ 2.5, được thiết kế với một phạm vi rấtrộng các tính năng, có thể ứng dụng trong nhiều lĩnh vực khác nhau PL/1 cung cậ́pcác ứng dụng trong KHKT cũng như trong kinh tế và thương mại Đồng thời PL/1cho phép làm việc với các cấu trúc dữ liệu phức tạp, đa nhiệm, input / outputphong phú cũng như khả năng xử lý danh sách và các tính năng khác
PASCAL, được phát triển từ những năm 1970 là ngôn ngữ lập trình có cấutrúc tiền định rất phong phú PASCAL kế thừa từ ALGOL nhiều đặc trưng như cấutrúc khối định kiểu dữ liệu, hỗ trợ đệ quy
MODULA - 2 là sự phát triển của PASCAL với việc phát huy các tính năngthông dụng của ngôn ngữ này
Ngôn ngữ lập trình C, lúc đầu được phát triển như một ngôn ngữ cho ngườicài đặt hệ điều hành Hệ điều hành UNIX được cài đặt trong C Đến nay, C là ngônngữ lập trình rất phát triển Một số lượng lớn các sản phẩm phần mềm đã đượcthiết kế trong C như các ứng dụng nhúng, các phần mềm hệ thống, các kỹ nghệphần mềm phức tạp chứa các tính năng mạnh làm cho nó trở nên mềm dẻo đáng
Trang 18kể Ngoài ra, C có sự hỗ trợ cho các cấu trúc dữ liệu phức tạp và có các đặc trưngđịnh kiểu hợp lý, cho phép dùng nhiều con trỏ và có một tập hợp phong phú cáclệnh tính toán và xử lý dữ liệu
ADA là ngôn ngữ lập trình do Bộ Quốc Phòng Mỹ phát triển Đây là ngônngữ chuẩn dùng cho các máy tính thời gian thực Ngày nay, ADA được sử dụngtrong các mục đích quân sự lẫn dân sự ADA có cấu trúc cú pháp tựa nhưPASCAL nhưng mạnh mẽ, phong phú và phức tạp hơn nhiều ADA có các hỗ trợcho các chức năng đa nhiệm, xử lý ngắt
Các ngôn ngữ hướng đối tượng - OOL (Object Oriented Language)
Đây là các ngôn ngữ lập trình được xây dựng dựa trên các khái niệm sự vật
và các thuộc tính, lớp và thành phần, toàn thể và bộ phận Các ngôn ngữ lập trìnhhướng đối tượng tiêu biểu là C++, Object Pascal, Eiffel
QUẢN LÝ CẤU HÌNH
Trang 19- Các đặc trưng giao diện.
Tài liệu thiết kế phần mềm là một bộ phận của cấu hình phần mềm
1.3.1 Vai trò của thiết kế phần mềm
Thiết kế phầm mềm nằm ở trung tâm kỹ thuật của tiến trình kỹ nghệ phầnmềm và được áp dụng bất kể tới khuôn cảnh phát triển được sử dụng Một khi cácyêu cầu phần mềm đó được phân tích và đặc tả thì thiết kế phần mềm là một trong
ba hoạt động kỹ thuật – thiết kế, lập trình và kiểm thử – những hoạt động cần đểxây dựng và kiểm chứng phần mềm Từng hoạt động này biến đổi thông tin theocách cuối cùng tạo ra phần mềm máy tính hơp lệ
Trang 20Thiết kế, lập trình và kiểm thử chiếm đến 75% hay hơn của chi phí kỹ nghệphần mềm Chính tại các bước này chúng ta quyết định rằng sự thành công củaviệc cài đặt phần mềm bị ảnh hưởng và điều quan trọng là làm dễ dàng cho việcbảo trì phần mềm Những quyết định này được thực hiện trong thiết kế phần mềm,làm cho nó thành bước thử nghiệm trong giai đoạn phát triển
Tầm quan trọng của thiết kế phần mềm có thể được phát biểu bằng hai từ –chất lượng Thiết kế là nơi chất lượng được nuôi dưỡng trong việc phát triển phầnmềm Thiết kế cung cấp cho ta cách biểu diễn phần mềm có thể được xác nhận vềchất lượng Thiết kế là cách duy nhất mà chúng ta có thể dịch một cách chính xáccác yêu cầu của khách hàng thành sản phẩm hay hệ thống phần mềm cuối cùng.Không có thiết kế, ta có nguy cơ dựng nên một hệ thống không ổn định - một hệthống sẽ thất bại khi có một thay đổi nhỏ; một hệ thống có thể khó mà thử được;một hệ thống mà người ta không thể nào xác nhận được chất lượng chừng nàochưa đến cuối tiến trình kiểm thử, khi thời gian còn rất ngắn và nhiều tiền đã phảichi ra
1.3.2 Tiến trình thiết kế
Thiết kế phần mềm là một tiến trình trong đó các yêu cầu của kế hoạch đượcchuyển đổi thành sự biểu diễn phần mềm Biểu diễn phần mềm sẽ mô tả cho quanđiểm về tiến bộ phần mềm và quá trình tiếp theo sẽ chi tiết hóa biểu diễn phầnmềm thành một bản thiết kế gần chương trình gốc
Theo quan điểm của nhà quản lý dự án một tiến trình thiết kế phần mềmgồm hai bước: thiết kế sơ bộ và thiết kế chi tiết Trong đó, thiết kế sơ bộ là việcchuyển đổi yêu cầu thành kiến trúc dữ liệu và phần mềm Thiết kế chi tiết biểu
Trang 21
1.3.3 Thiết kế và chất lượng phần mềm
Trong toàn bộ tiến trình thiết kế, chất lượng của thiết kế tiến hoá được khẳngđịnh bằng một loạt các cuộc họp xét duyệt kỹ thuật chính thức Để đánh giá chấtlượng của một biểu diễn thiết kế, chúng ta phải thiết lập các tiêu chuẩn cho thiết kếtốt
- Thiết kế nêu ra cách tổ chức theo cấp bậc để dùng cách kiểm soát thôngminh trong số các thành phần phần mềm
- Thiết kế theo các module; tức là phần mềm nên được phân hoạch một cáchlogic thành các thành phần thực hiện những chức năng và chức năng con xác định
- Thiết kế chứa cách biểu diễn phân biệt và tách biệt giữa dữ liệu và thủ tục
- Thiết kế dẫn tới các module (như chương trình con hay thủ tục) nêu ra cácđặc trưng chức năng đặc biệt
Trang 221.3.4 Phương pháp thiết kế
Hai phương pháp thiết kế cơ bản là: Top dow Design và Bottom Up Design
- Thiết kế từ trên xuống (Top down Design): đây là phương pháp thiết kế dựatrên tư tưởng module hóa Nội dung của phương pháp thiết kế này như sau: trướchết người ta xác định các vấn đề chủ đề nhất mà việc giải quyết bài toán yêu cầu,bao quát được toàn bộ bài toán Sau đó phân chia nhiệm vụ cần giải quyết thànhcác nhiệm vụ cụ thể hơn, tức là chuyển dần từ module chính đến các module con
từ trên xuống dưới, do vậy phương pháp này có tên gọi là thiết kế “từ đỉnh xuống”
- Thiết kế từ dưới lên (Bottom Up Design): tư tưởng của phương pháp thiết kếnày ngược lại với phương pháp Top down design Trước hết người ta tiến hànhgiải quyết các vấn đề cụ thể, sau đó trên cơ sở đánh giá mức độ tương tự về chứcnăng của các vấn đề này trong việc giải quyết bài toán người ta gộp chúng lạithành từng nhóm cùng chức năng từ dưới lên trên cho đến module chính Sau đó sẽthiết kế thêm một số chương trình làm phong phú hơn, đầy đủ hơn chức năng củacác phân hệ và cuối cùng là thiết kế một chương trình làm nhiệm vụ tập hợp cácmodule thành một hệ chương trình thống nhất, hoàn chỉnh
Trang 232 Các vấn đề về phân tích hệ thống
2.1 Các phương pháp thu thập thông tin
- Phỏng vấn : cho phép thu được những xử lý theo cách khác với mô tảtrong tài liệu, gặp được những người chịu trách nhiệm trên thực tế, số người này cóthể không được ghi trên văn bản tổ chức; thu được những nội dung cơ bản kháiquát về hệ thống mà nội dung đó khó có thể nắm bắt được khi tài liệu quá nhiều.Đặc biệt là mục tiêu của tổ chức
- Nghiên cứu tài liệu : cho phép nghiên cứu kỹ và tỉ mỉ về nhiều khía cạnhcủa tổ chức như: lịch sử hình thành và phát triển của tổ chức, tình trạng tài chính,các tiêu chuẩn và định mức, cấu trúc thứ bậc, vai trò và nhiệm vụ của các thànhviên, nội dung và hình dạng của các thông tin vào/ra Thông tin trên giấy tờ phảnánh quá khứ, hiện tại và tương lai của tổ chức Cần nghiên cứu kỹ các văn bản:
+ Các văn bản về thủ tục và quy trình làm việc của cá nhân hoặc mộtnhóm làm việc
+ Các phiếu mẫu sử dụng trong hoạt động của tổ chức
+ Các loại báo cáo, bảng biểu do hệ thống thông tin hiện có sinh ra
- Sử dụng phiếu điều tra : khi cần phải lấy thông tin từ một số lớn các đốitượng và trên phạm vi địa lý rộng thì dùng tới phiếu điều tra Yêu cầu các câu hỏitrên phiếu phải rõ ràng, cùng hiểu như nhau Phiếu ghi theo cách thức dễ tổng hợp.Thường thì phiếu điều tra được thiết kế trên giấy, tuy nhiên cũng có thể dùng quađiện thoại, đĩa từ, màn hình nối mạng, trang Web động…Phiếu điều tra cần phảiđược phát thử sau đó hiệu chỉnh lại nội dung và hình thức câu hỏi Trên phiếu điềutra nên chứa chủ yếu là câu hỏi đóng (Closed Ended) và có một số câu hỏi mở(Opened Ended) Để đảm bảo tỷ lệ phiếu thu về cao và có chất lượng người gửiphiếu phải là cấp trên của các đối tượng nhận phiếu
- Quan sát : khi phân tích viên muốn nhìn thấy những gì không thể hiệntrên tài liệu hoặc qua phỏng vấn như tài liệu để đâu, đưa cho ai, bỏ ngăn kéo, có
Trang 24sắp xếp hoặc không sắp xếp, lưu trữ có khóa hoặc không khóa…Quan sát sẽ có khigặp khó khăn vì người bị quan sát không thực hiện giống như ngày thường
2.2 Mã hóa dữ liệu
2.2.1 Định nghĩa mã hóa dữ liệu
Mã hiệu được xem như là một biểu diễn theo quy ước, thông thường làngắn gọn về mặt thuộc tính của một thực thể hoặc tập hợp thực thể Bên cạnhnhững thuộc tính định danh theo ngôn ngữ tự nhiên người ta thường tạo ra nhữngthuộc tính nhận diện mới gồm một dãy ký hiệu, chủ yếu là những chữ cái chữ số,được gán cho một ý nghĩa mang tính ước lệ
Mã hóa được xem là việc xây dựng một tập hợp những hàm thức mang tínhquy ước và gán cho tập hợp này một ý nghĩa bằng cách cho liên hệ với tập hợpnhững đối tượng cần biểu diễn
Mã hóa là một công việc của thiết kế viên hệ thống thông tin Có thể coi đây
là việc thay thế thông tin ở dạng “tự nhiên” thành một dãy ký hiệu thích ứng vớimục tiêu của người sử dụng Mục tiêu đó có thể là nhận diện nhanh chóng, khôngnhầm lẫn, tiết kiệm không gian lưu trữ và thời gian xử lý, thực hiện những phépkiểm tra logic hình thức hoặc thể hiện vài đặc tính của đối tượng
2.2.2 Các phương pháp mã hóa cơ bản
- Phương pháp mã hóa phân cấp : nguyên tắc tạo bộ mã này rất đơn giản.Người ta phân cấp đối tượng từ trên xuống, mã số được xây dựng từ trái qua phảicác chữ số được kéo dài về phía bên phải để thể hiện chi tiết sự phân cấp sâu hơn
Để thiết lập mã phân cấp cần phải xác định có bao nhiêu cấp và mỗi cấp cần baonhiêu mã Có hai loại mã phân cấp: Mã phân cấp cố định và mã phân cấp biếnthiên Mã phân cấp cố định là loại mã số mà trong từng cấp bị giới hạn trong mộtkhoảng cho trước Ngược lại là mã biến thiên
- Phương pháp mã liên tiếp : mã kiểu này được tạo ra bởi một quy tắc tạodãy nhất định Chẳng hạn nếu người tuyển dụng vào làm việc trước có mã số 999thì người tiếp theo mang mã số 1000 Ưu điểm của phương pháp này là không
Trang 25- Phương pháp mã hóa ghép nối : phương pháp này chia mã ra thành nhiềutrường, mỗi trường tương ứng với một đặc tính, những liên hệ có thể có giữanhững tập hợp con khác nhau với đối tượng được gán mã Ưu điểm của phươngpháp này là nhận diện không nhầm lẫn, có khả năng phân tích cao, có nhiều khảnăng kiểm tra thuộc tính Nhược điểm là khá cồng kềnh vì phải cần nhiều ký tự,phải chọn những đặc tính ổn định nếu không bộ mã mất ý nghĩa.
2.3 Công cụ mô hình hóa
2.3.1 Sơ đồ luồng thông tin
Khái niệm: Sơ đồ luồng thông tin được dùng để mô tả hệ thống thông tintheo cách thức động Tức là mô tả sự di chuyển của dữ liệu, việc xử lý, việc lưu trữtrong thế giới vật lý bằng các sơ đồ
Các ký pháp của sơ đồ luồng thông tin:
- Xử lý
Thủ công Giao tác người – máy Tin học hóa hoàn toàn
Trang 26Tài liệu
Kho dữ liệu
- Kho lưu trữ dữ liệu
Thủ công Tin học hóa
- Dòng thông tin - Điểu khiển
2.3.2 Sơ đồ luồng dữ liệu
Khái niệm: sơ đồ luồng dữ liệu dùng để mô tả cũng chính hệ thống thông tinnhư sơ đồ luồng thông tin nhưng trên góc độ trừu tượng Trên sơ đồ chỉ bao gồmcác luồng dữ liệu, các xử lý, các lưu trữ dữ liệu, nguồn và đích nhưng không hềquan tâm tới nơi, thời điểm và đối tượng chịu trách nhiệm xử lý Sơ đồ luồng dữliệu chỉ mô tả đơn thuần hệ thống thông tin làm gì và để làm gì
Ký pháp dùng cho sơ đồ luồng dữ liệu (DFD):
Ngôn ngữ sơ đồ luồng dữ liệu DFD sử dụng 4 loại ký pháp cơ bản: thực thể,tiến trình, kho dữ liệu và dòng dữ liệu
Nguồn hoặc đích
Trang 277Các mức của DFD
- Sơ đồ ngữ cảnh (Context Diagram) thể hiện rất khái quát nội dungchính của hệ thống thông tin Sơ đồ này không đi vào chi tiết mà mô tả sao cho chỉcần một lần nhìn là nhận ra nội dung chính của hệ thống Để cho sơ đồ sáng sủa, dễnhìn có thể bỏ qua kho dữ liệu; bỏ qua các xử lý cập nhật
- Phân rã sơ đồ: để mô tả hệ thống chi tiết hơn người ta dùng kỹ thuậtphân rã (Explosion) sơ đồ Bắt đầu từ sơ đồ khung cảnh, người ta phân rã ra thành
sơ đồ mức 0, tiếp sau mức 0 là mức 1…
Một số quy ước và quy tắc liên quan tới DFD
1 Mỗi luồng dữ liệu phải có một tên trừ luồng giữa xử lý và kho dữ liệu
2 Dữ liệu chứa trên 2 vật mang khác nhau nhưng luôn luôn đi cùng nhauthì có thể tạo ra chỉ một luồng duy nhất
3 Xử lý luôn phải được đánh mã số
4 Vẽ lại các kho dữ liệu để các luồng dữ liệu không cắt nhau
5 Tên cho xử lý phải là một động từ
6 Xử lý buộc phải thực hiện một biến đổi dữ liệu Luồng vào phải khác vớiluồng ra từ một xử lý
7 Thông thường một xử lý mà logic xử lý của nó được trình bày bằng ngônngữ có cấu trúc chỉ chiếm một trang giấy thì không phân rã tiếp
8 Cố gắng chỉ để tối đa 7 xử lý trên một trang DFD
9 Tất cả các xử lý trên một DFD phải thuộc cùng một mức phân rã
10 Luồng vào của một DFD mức cao phải là luồng vào của một DFD conmức thấp nào đó Luồng ra tới đích của một DFD con phải là luồng ra tới đích củamột DFD mức lớn hơn nào đó Đây còn gọi là nguyên tắc cân đối (Balancing) củaDFD
11 Xử lý không phân rã tiếp thêm thì được gọi là xử lý nguyên thủy Mỗi
xử lý nguyên thủy phải có một phích xử lý logic trong từ điển hệ thống
Trang 288Các phích lôgic
Giống như phích vật lý, phích logic hoàn chỉnh tài liệu cho hệ thống Có 5loại phích logic Chúng được dùng mô tả thêm cho luồng dữ liệu, xử lý, kho dữliệu, tệp dữ liệu và phần tử thông tin
- Mẫu phích xử lý logic
- Mẫu phích luồng dữ liệu
- Mẫu phích phần tử thông tin
- Mẫu phích kho dữ liệu
- Mẫu phích tệp dữ liệu
Tên xử lý
Mô tả Tên DFD liên quan:
Các luồng dữ liệu vào:
Các luồng dữ liệu ra:
Phích luồng dữ liệu
Tên phần tử thông tin:
Trang 29Tên sơ đồ cấu trúc dữ liệu có liên quan:
Phích kho dữ liệu
sơ đồ luồng thông tin
(Data Flow Diagram)
Sơ đồ luồng dữ liệu
SD
(System Dictionary)
Từ điển hệ thống
Các phích lôgic
3 Lý thuyết về cơ sở dữ liệu
3.1 Khái niệm về cơ sở dữ liệu và hệ quản trị cơ sở dữ liệu
- Cơ sở dữ liệu (Data Base): là tập hợp các bảng có liên quan với nhauđược tổ chức và lưu trữ trên các thiết bị hiện đại của tin học, chịu sự quản lý của
Trang 30sở dữ liệu cung cấp một giao diện giữa người sử dụng và dữ liệu, biến đổi cơ sở dữliệu vật lý thành cơ sở dữ liệu logic.
2.2 Các khái niệm của cơ sở dữ liệu
- Thực thể (Entity): là một đối tượng nào đó mà nhà quản lý muốn lưu trữthông tin về nó Một số thực thể có vẻ vật chất, hữu hình (máy móc thiết bị, kháchhàng…) còn một số thực thể khác chỉ là những khái niệm vô hình như dự án, tàikhoản…Khi nói đến thực thể cần hiểu rõ là nói đến một tập hợp các thực thể cùngloại
- Trường dữ liệu (Field): để lưu trữ thông tin về từng thực thể người ta thiếtlập cho nó một bộ thuộc tính để ghi giá trị cho các thuộc tính đó Mỗi thuộc tínhđược gọi là một trường Nó chứa một mẩu tin về thực thể cụ thể
- Bản ghi (Record): tập hợp bộ giá trị của các trường của một thực thể cụ thểlàm thành một bản ghi
- Bảng (Table): toàn bộ các bản ghi lưu trữ thông tin cho một thực thể tạo ramột bảng mà mỗi dòng là một bản ghi và mỗi cột là một trường
2.3 Mô hình quan hệ
Mô hình Cơ sở dữ liệu Quan hệ (gọi tắt là Mô hình Quan hệ) do E.F Codd
đề xuất năm 1971 Mô hình này bao gồm:
- Một hệ thống các ký hiệu để mô tả dữ liệu dưới dạng dòng và cột như quan
hệ, bộ, thuộc tính, khóa chính, khoá ngoại,
Trang 31- Một tập hợp các phép toán thao tác trên dữ liệu như phép toán tập hợp,phép toán quan hệ
- Ràng buộc toàn vẹn quan hệ
Mô hình này được sáng lập nhằm 3 mục tiêu sau đây:
- Mục tiêu độc lập dữ liệu: vạch ra một đường ranh giới rõ ràng giữa cácphương diện logic và vật lý của việc quản trị CSDL Khi đó các nhà lập trình ứngdụng không cần thiết phải để ý tới cách trình bày dữ liệu trên các phương tiện vậtchất nữa
- Mục tiêu truyền đạt: tạo ra một mô hình đơn giản mà đông đảo các nhà lậptrình và những người dùng có thể hiểu được ngay Đây là mục tiêu nhằm tăng hiệusuất và hiệu quả của việc trao đổi giữa người dùng và các cán bộ hệ thống thôngtin quản lý
- Mục tiêu xử lý tập hợp: mục tiêu này nhằm tăng khả năng xử lý từ “lầnlượt từng bản ghi” đến “đồng thời nhiều bản ghi”
Đạt được các mục tiêu như vậy có nghĩa là chỉ cần viết một số ít dòng lệnhcho các trình ứng dụng, đồng thời những người dùng và những cán bộ phân tích sẽ
ít hiểu lầm nhau trong giao tiếp
Theo mô hình này thì hệ quản trị cơ sở dữ liệu xem xét và thể hiện các thựcthể như một bảng hai chiều với bản ghi là các hàng và các trường là các cột Cómột cột đóng vai trò trường khóa hay còn gọi là trường định danh Mỗi giá trị của
nó xác định một bản ghi duy nhất Bảng có thể chứa các trường liên kết, chúngkhông phải là những trường mô tả về thực thể mà là móc xích liên kết với mộthoặc nhiều bản ghi của một trường khác
Cấu trúc như vậy có rất nhiều thuận lợi cho việc thao tác với dữ liệu trên cácbảng Một bảng được coi như là một tập hợp con của tích Đề Các các tập hợp màcác phần tử của nó là tập hợp các giá trị có thể nhận của mỗi trường Vì thế, mỗibảng còn được gọi theo gốc toán học là một quan hệ (tập hợp con tích Đề Các của
Trang 32các tập hợp) Mô hình này tạo thuận lợi rất lớn cho các thao tác cơ bản có gốc rễ từtoán học như: lọc, trừ, liên kết, chiếu…giữa các quan hệ
2.3 Thiết kế cơ sở dữ liệu logic đi từ các thông tin ra
Theo phương pháp này, việc thiết kế CSDL bao gồm 5 bước như sau:
Bước 1: Xác định các đầu ra
- Liệt kê toàn bộ các thông tin đầu ra
- Nội dung, khối lượng, tần suất và nơi nhận của chúng
Bước 2: xác định các tệp cần thiết cung cấp đủ dữ liệu cho việc tạo ra từng đầu ra
- Liệt kê các phần tử thông tin đầu ra:
+ Liệt kê toàn bộ các thuộc tính thành một danh sách Đánh dấu cácthuộc tính lặp – là thuộc tính có thể nhận nhiểu giá trị dữ liệu
+ Đánh dấu các thuộc tính thứ sinh – là những thuộc tính được tính toán
ra hoặc suy ra từ các thuộc tính khác
+ Gạch chân các thuộc tính khóa cho các thông tin đầu ra
+ Loại bỏ các thuộc tính thứ sinh khỏi danh sách, chỉ để lại các thuộctính cơ sở Xem xét loại bỏ những thuộc tính không có ý nghĩa trong quản lý
- Thực hiện việc chuẩn hóa mức 1 (1.NF): tách các thuộc tính lặp ra thànhdanh sách con, có một ý nghĩa dưới góc độ quản lý Gắn cho nó một cái tên, tìmcho nó một thuộc tính định danh riêng và thêm thuộc tính định danh của danh sáchgốc
- Thực hiện chuẩn hóa mức 2 (2.NF): tách những thuộc tính phụ thuộc hàmvào bộ phận của khóa thành một danh sách con mới Lấy bộ phận khóa đó chodanh sách mới Đặt cho danh sách mới này một tên riêng cho phù hợp với nội dungcủa các thuộc tính trong danh sách
- Thực hiện chuẩn hóa mức 3 (3.NF): nếu thuộc tính Z phụ thuộc hàm vàothuộc tính Y và Y phụ thuộc hàm vào X thì phải tách chúng vào hai danh sách
Trang 33chứa quan hệ Z, Y và danh sách chứa quan hệ Y với X Xác định khóa và tên chomỗi danh sách mới
- Mô tả các tệp: mỗi danh sách xác định được sau bước chuẩn hóa mức 3 sẽ
là một tệp cơ sở dữ liệu Biểu diễn các tệp theo ngôn ngữ của cơ sở dữ liệu về tệp.Tên tệp viết hoa, nằm phía trên Các thuộc tính nằm trong các ô, thuộc tính khóagạch chân
Bước 3: tích hợp các tệp để chỉ tạo ra một CSDL
Từ mỗi đầu ra theo cách thực hiện của bước 2 sẽ tạo ra rất nhiều danh sách
và mỗi danh sách là liên quan tới một đối tượng quản lý, có sự tồn tại riêng tươngđối độc lập Những danh sách nào cùng mô tả về một thực thể thì phải tích hợp lại,nghĩa là tạo thành một danh sách chung, bằng cách tập hợp tất cả các thuộc tínhchung và riêng của những danh sách đó
Bước 4: xác định khối lượng dữ liệu cho từng tệp và toàn bộ sơ đồ
- Xác định số lượng các bản ghi cho từng tệp
- Xác định độ dài cho một thuộc tính Tính độ dài cho bản ghi
Bước 5: xác định liên hệ logic giữa các tệp và thiết lập sơ đồ cấu trúc dữ liệu
Xác định mối liên hệ giữa các tệp, biểu diễn chúng bằng các mũi tên haichiều, nếu có mối quan hệ một – nhiều thì vẽ hai mũi tên về hướng đó
3 Khái quát về các công cụ sử dụng trong đề tài
3.1 Khái quát về hệ quản trị cơ sở dữ liệu Access và SQL server
3.1.1 Hệ quản trị cơ sở dữ liệu Access
Access lưu giữ các thành phần như các mẫu hỏi, các mẫu biểu, và các báocáo trong một tệp Việc này sẽ làm cho cơ sở dữ liệu tạo và phân phối một cáchđơn giản hơn
Bảng
Trang 34Các bảng lưu dữ liệu được định dạng theo cột và dòng, tương tự như việcứng dụng bảng tính Chúng ta có thể tạo và mở nhiều bảng (được giới hạn bởi bộnhớ trong máy tính của bạn)
Các truy vấn
Mỗi truy vấn là một câu hỏi đơn giản từ cơ sở dữ liệu cho phép bạn hiển thị dữliệu thoả mãn điều kiện hỏi Mỗi lần xem dữ liệu bạn thường không muốn hiển thịtoàn bộ dữ liệu trong cơ sở dữ liệu Bằng việc dùng các truy vấn bạn có thể xácđịnh xem những bản ghi nào và những trường nào từ các bảng dữ liệu đã có sẽđược hiển thị
Các mẫu biểu
Các mẫu biểu được sử dụng để nhập dữ liệu và cập nhật các dữ liệu hiện thời.Các mẫu biểu sẽ hiển thị dữ liệu thường là một bản ghi nhiều hơn là dạng cột vàdòng Các mẫu biểu có thể đại diện cho các trường trong bảng theo bất kỳ một trật
tự nào và làm cho việc nhập dữ liệu nhanh hơn và đơn giản hơn
Các báo cáo
Các báo cáo là tổng hợp các bản in ra của cơ sở dữ liệu của bạn và được tạo ratrong bất kỳ định dạng nào mà bạn muốn Các báo cáo có thể được tạo ra từ bất kỳbảng hoặc bản mẫu câu hỏi nào mà bạn đã thiết kế trước đó
3.1.2 Hệ quản trị cơ sở dữ liệu SQL server
SQL Server là một hệ thống quản trị cơ sở dữ liệu quan hệ (Relational
Database Management System (RDBMS) ) sử dụng Transact-SQL để trao đổi dữ
liệu giữa Client computer và SQL Server computer Một RDBMS bao gồm
Trang 35Một thành phần quan trọng của SQL Server là Relational Database Engine.Ðây là một engine có khả năng chứa data ở các quy mô khác nhau dưới dạng table
và support tất cả các kiểu kết nối (data connection) thông dụng của Microsoft nhưActiveX Data Objects (ADO), OLE DB, and Open Database Connectivity(ODBC) Ngoài ra nó còn có khả năng tự điều chỉnh (turn up) ví dụ như sử dụngthêm các tài nguyên (resource) của máy khi cần và trả lại tài nguyên cho hệ điềuhành khi một user log off
SQL Server có 7 editions:
- Enterprise : Chứa đầy đủ các đặc trưng của SQL Server và có thể chạy tốt
trên hệ thống lên đến 32 CPUs và 64 GB RAM Thêm vào đó nó có các dịch vụgiúp cho việc phân tích dữ liệu rất hiệu quả (Analysis Services)
- Standard : Rất thích hợp cho các công ty vừa và nhỏ vì giá thành rẻ hơn
nhiều so với Enterprise Edition, nhưng lại bị giới hạn một số chức năng cao cấp(advanced features) khác, edition này có thể chạy tốt trên hệ thống lên đến 4 CPU
và 2 GB RAM
- Personal: được tối ưu hóa để chạy trên PC nên có thể cài đặt trên hầu hết
các phiên bản windows kể cả Windows 98
- Developer : Có đầy đủ các tính năng của Enterprise Edition nhưng được
chế tạo đặc biệt như giới hạn số lượng người kết nối vào Server cùng một lúc Ðây là edition mà các bạn muốn học SQL Server cần có Edition này có thể càitrên Windows 2000 Professional hay Win NT Workstation
Trang 36- Desktop Engine (MSDE): Ðây chỉ là một engine chạy trên desktop và
không có user interface (giao diện) Thích hợp cho việc triển khai ứng dụng ở máyclient Kích thước database bị giới hạn khoảng 2 GB
- Win CE : Dùng cho các ứng dụng chạy trên Windows CE
- Trial: Có các tính năng của Enterprise Edition, download free, nhưng giới
hạn thời gian sử dụng
3.2.Giới thiệu ngôn ngữ lập trình Visual Basic 6.0
Visual Basic, con đường ngắn nhất và đơn giản nhất để tạo các ứng dụngcho Microsoft Windows Cho dù ta là một nhà chuyên nghiệp hay là một ngườimới lập trình Windows, Visual Basic cung cấp cho ta một tập hợp các công cụhoàn chỉnh để nhanh chóng phát triển các ứng dụng
Vậy Visual Basic là gì? Thuật ngữ “Visual” dùng để nói đến các phươngthức dùng để tạo giao diện đồ hoạ người sử dụng Thay vì viết những dòng mãlệnh để mô tả sự xuất hiện và vị trí của những thành phần giao diện ta chỉ cần thêmnhững đối tượng đã được định nghĩa trước ở vị trí nào trên màn hình Còn “Basic”
là nói đến ngôn ngữ BASIC (Beginners All-purpose Symbolic Intruction Code)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, cho đếnbây giờ nó đã chứa đựng hàng trăm điều lệnh, hàm, từ khoá… có quan hệ trực tiếptới giao diện đồ hoạ của Windows
Ngôn ngữ Visual Basic có các chức năng truy xuất dữ liệu cho phép ta tạo racác cơ sở dữ liệu những ứng dụng Visual Basic được xem là một công cụ pháttriển phần mềm hiệu quả nhất Kể từ khi Visual Basic 1.0 được công bố Microsoftluôn luôn bổ sung, hoàn chỉnh các cách thức đơn giản để thiết kế, phát triển phần
mềm Visual Basic 3.0 được bổ sung điều khiển cơ sở dữ liệu Visual Basic 4.0
được bổ sung hỗ trợ phát triển 32 bit và bắt đầu chuyển Visual Basic thành công cụlập trình hướng đối tượng đầy đủ Visual Basic 5.0 thì bổ sung khả năng tạo tập tin
Trang 37thi hành thực sự thậm chí có khả năng tạo điều khiển riêng Đến giờ Visual Basic6.0 bổ sung một số tính năng ngôn ngữ đã được mong đợi từ lâu đó là tăng cườngnăng lực Internet, và cả các tính năng cơ sở dữ liệu mạnh hơn Quả thật, VisualBasic đã trở thành một công cụ mạnh nhất, trôi chảy nhất từ trước tới nay
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, ta thấy ngay kết quả qua từng thao tác và giao diện khichươ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ình khác.Visual Basic cho phép ta chỉnh sửa đơn giản, nhanh chóng hình dáng, màu sắc,kích thước của đối tượng có mặt trong ứng dụng
Một khả năng khác của Visual Basic là khả năng kết hợp các thư viện liênkết động DLL (Dynamic Link Library) DLL chính là phần mở rộng cho VisualBasic tức là khi ta xây dựng một ứng dụng nào đó có một yêu cầu mà Visual Basickhông thể đáp ứng được ta có thể viết thêm DLL phụ trợ
Người dùng Visual Basic, cũng thấy tiện lợi khi tiết kiệm được thời gian,công sức so với các ngôn ngữ khác khi xây dựng cùng một ứng dụng
Khi viết chương trình bằng Visual Basic, chúng ta phải qua hai bước:
- Thiết kế giao diện ( Visual Programming)
- Viết lệnh (Code Programming)
* Thiết kế giao diện
Visual Basic là ngôn ngữ lập trình hướng đối tượng nên việc thiết kế giaodiện rất đơn giản Trong hộp Tools Box, ta có thể xác định đối tượng, sau đó ta đặtđối tượng vào Form và tiến hành thay đổi một số thuộc tính của đối tượng đó trựctiếp trên đối tượng hoặc thông qua cửa sổ thuộc tính Properties Window
a Form:
Tương tự như trong Access, Form là biểu mẫu mỗi ứng dụng trong VisualBasic Ta dùng Form (như một biểu mẫu) nhằm định vị và sắp xếp các bộ phậntrên nó khi thiết kế các phần giao tiếp với người dùng
Trang 38Ta có thể xem Form như một bộ phận mà nó chứa các bộ phận khác Formchính là ứng dụng, các thành phần của nó tương tác với các Form khác các bộ phậncủa chúng tạo nên giao tiếp cho ứng dụng Form chính là giao diện chính cho ứngdụng, các Form khác có thể chứa các hộp thoại hiển thị các nhập 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úc chạy.Điều này có nghĩa là Visual Basic cho phép ta thay đổi kích cỡ và di chuyển vị trícủa các Form đến bất kỳ nơi nào trong màn hình khi chạy một đề án bằng cáchthay đổi các thuộc tính của nó trong cửa sổ thuộc tính (Properties Window) Thực
tế, một trong những tính năng thiết yếu của Visual Basic là khả năng tiến hànhnhững thay đổi động để đáp ứng các sự kiện của người dùng
b 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ị các điều khiển
mà ta có thể bổ sung vào biểu mẫu, là bảng chứa các đối tượng được định nghĩasẵn của Visual Basic Các đối tượng này được sử dụng trong Form để tạo thànhgiao diện cho các chương trình ứng dụng của Visual Basic Các đối tượng trongthanh công cụ sau đây là thông dụng nhất
c Properties Window:
Là nơi chứa danh sách thuộc tính của một đối tượng cụ thể Các thuộc tínhnày có thể thay đổi để phù hợp với yêu cầu về giao diện của các chương trình ứngdụng
d Project Explorer:
Do các ứng dụng của 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 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à
Trang 39tất cả các Form trong ứng dụng chia sẻ có thể phân thành các Module khác nhau vàcũng được lưu trữ tách biệt, gọi là Module mã Project Explorer nêu tất cả các biểumẫu tuỳ biến được và các Module mã chung, tạo nên một ứng dụng
* Viết lệnh
a Dòng mã
Điểm mấu chốt phải được nhận thức rõ trong khâu lập trình Visual Basic làVisual Basic xử lý mã chỉ để đáp ứng các sự kiện Thực vậy, không như nhiềungôn ngữ lập trình khác, các dòng mã thi hành trong một chương trình VisualBasic phải nằm trong thủ tục hoặc các hàm, các dòng mã bị cô lập sẽ không làmviệc
b Cửa sổ Code
Cửa sổ Code luôn là nơi để viết mã Cửa sổ Code có một thanh tách (SplitBar) nằm bên dới thanh tiêu đề, tại đầu thanh cuộn dọc để có thể xem hai phần cửa
sổ Code cùng một lúc
Trang 40HỆ THỐNG BIÊN MỤC CONVERT TÌM KIẾM TRỢ GIÚP
PHẦN MỀM CONVERT
Ch¬ng iii – ph©n tÝch vµ thiÕt kÕ phÇn mÒm convert
d÷ liÖu tõ csdl access sang csdl sql server.
1 Phân tích tổng thể
1.1 Sơ đồ chức năng của phần mềm
Phần mềm Convert dữ liệu được xây dựng trong đề tài này có chức năngchính là convert dữ liệu Access sang dữ liệu SQL server, phục vụ cho cán bộ thưviện thực hiện việc chuyển đổi cơ sở dữ liệu khi nó được chuyển đến từ các bộphận khác trong trường
Tuy nhiên, hiện tại các cơ sở dữ liệu do phòng công tác chính trị và quản lýsinh viên chuyển đến có cấu trúc dữ liệu chưa đầy đủ và trùng khớp với cấu trúc dữliệu ở cơ sở dữ liệu SQL server mà thư viện đang lưu trữ Chính vì vây, phần mềmcòn có thêm một chức năng là biên mục, giúp các phòng ban, bộ phận và thư viện
có thể cập nhật, sửa đổi hoặc xóa bỏ các thông tin về bạn đọc trên một khung mẫudữ liệu thống nhất
Phần mềm convert dữ liệu bao gồm các phân hệ sau đây:
Hình 1 Sơ đồ chức năng của phần mềm convert dữ liệu