Phân tích thiết kế và xây dựng chương trình quản lý thông tin thư viện đại học quốc gia Hà Nội
Trang 1Lời cảm ơn
Trớc tiên Em xin gửi lời ơn tới các thầy, cô giáo trong khoa Công Nghệ trờng Đại Học Quốc Gia Hà Nội, những ngời đã truyền cho em kiến thức trong thời gian học tập
Em xin chân thành cảm ơn PGS.TS Vũ Đức Thi đã tận tình chỉ bảo em trong suốt quá trình làm khoá luận tốt nghiệp, đồng thời em cũng xin cảm ơn tới anh Lê Mai Anh
và các anh trong công ty FPT đã tạo điều kiện giúp đỡ em
về mặt phơng tiện và hỗ trợ về mặt kỹ thuật để em nhanh chóng hoàn thành khoá luận tốt nghiệp
Cuối cùng em xin cảm ơn các bạn bè đã cho em những ý kiến góp ý chân thành để có đợc bài khoá luận tốt nghiệp hoàn chỉnh
Trang 2Mục lục
Giới thiệu 4
Phần A: Cơ sở lý thuyết 6
Chơng 1: cơ sở dữ liệu quan hệ 6
1.1.Các khái niệm về cơ sở dữ liệu(CSDL): 6
1.2 Các khái niệm về cơ sở dữ liệu quan hệ 8
1.2.1.Thuộc tính : 8
1.2.2 Quan hệ: 9
1.2.3 Phụ thuộc hàm (Functional dependency ) 9
1.2.4 Sơ đồ quan hệ (Relation schema) 10
1.2.5 Khoá: 10
1.2.6 Hệ tiên đề cho phụ thuộc hàm 11
1.3 Chuẩn hoá các quan hệ và sơ đồ quan hệ 11
1.3.1 Các định nghĩa về dạng chuẩn trong quan hệ 12
1.3.2 Thực hiện chuẩn hoá .13
1.3.3 Liên kết các quan hệ : 15
Chơng 2 World Wide Web và Kỹ thuật tạo Web 16
2.1 Giới thiệu về World Wide Web.(WWW) 16
2.1.1 Mô hình Client/Server 16
2.1.2 Ưu nhợc điểm chính của mô hình Client/Server 16
2.1.3 Mô hình World Wide Web (Web Client/Server) 17
2.2 Những khái niệm cơ bản về World Wide Web 18
2.2.1.Địa chỉ trên Web 18
2.2.2 Web Server 18
2.2.3 Web Client 19
2.3 Môi trờng Active Server Page 19
2.3.1 Giới thiệu 19
2.3.2 Các đối tợng của ASP 21
2.4.Lập trình ADO (ActiveX Data Objects Programming) 25
2.4.1.Đối tợng Connection 25
2.4.2.Đối tợng Recordset 26
2.4.3.Đối tợng Command 28
2.4.4.Các đối tợng Errors .28
Phần B : Bài toán “Xây dựng hệ thống thông tin Th viện Đại Học Quốc Gia - Hà Nội” 29
Chơng 3 Phân tích .29
3.1.Chức năng nghiệp vụ 29
3.1.1 Các đối tợng đợc quản lý trong Th viện 29
3.1.2 Các chức năng nghiệp vụ 30
3.1.3 Các qui tắc nghiệp vụ và các ràng buộc: 31
3.1.4.Các tiến trình nhiệp vụ: 32
3.1.5.Xác định các chức năng của hệ thống 36
3.2.Mô hình và mối quan hệ giữa các thực thể 37
3.2.1 Xác định các thực thể 37
3.2.2 Mối quan hệ giữa các thực thể 40
3.2.3 Mô hình cơ sở dữ liệu logic 44
Chơng 4: Thiết kế 46
4.1 Sơ đồ chức năng của hệ thống 46
4.2.Biểu đồ luồng dữ liệu 48
4.2.1 Biểu đồ luồng dữ liệu mức khung cảnh: 49 Khoá luận tốt nghiệp (1998-2000) khoa CNTT- ĐHKHTN
Trang 34.2.2 Biểu đồ luồng dữ liệu mức đỉnh: 50
4.2.3 Biểu đồ luồng dữ liệu mức dới đỉnh 51
4.3.Sơ hệ thống mạng 51
4.4.Thiết kế dữ liệu 54
4.4.1 Các bảng cấu trúc dữ liệu 54
4.4.2 Các bảng cấu truc dữ liệu hỗ trợ: 59
4.5.Thiết kế các module chơng trình: 60
4.5.1 Module đăng nhập: 60
4.5.2 Các module xử lý thao tác của ngời dùng: 61
4.5.3 Các module xử lý thao tác của ngời quản lý: 62
Chơng 5 Bảo mật và an toàn cho hệ thống 65
Một số kết quả của chơng trình 67
Kết luận 74
Đánh giá: 74
Hớng phát triển : 74
Tài liệu tham khảo 75
Trang 4Giới thiệu
Trong những năm ngần đây, ngành công nghệ thông tin phát triển một cách nhanh chóng ở Việt nam nhiều hoạt động kinh tế xã hội đợc tin học hoá, góp phần thúc đẩy sự phát triển của xã hội, đặc biệt là trong công tác quản lý
Tin học hoá trong công tác quản lý trớc hết nâng cao hiệu quả quản lý, giảm bớt sức lao động của con ngời, tiết kiệm đợc thời gian và tiện lợi hơn rất nhiều so với việc quản lý thủ công Tin học hoá giúp thu hẹp không gian lu trữ, tránh thất lạc dữ liệu, tự động hệ thống hoá, cụ thể hoá và chính xác hoá các thông tin theo nhu cầu của con ngời
Tuy nhiên, việc ứng dụng tin học vào nhiều lĩnh vực ở Việt Nam còn tiến triển chậm và cha khai thác hết thế mạnh của máy tính, trong đó có công tác quản lý trong Th viện Việc quản lý ở hầu hết các Th viện hiện nay chủ yếu làm thủ công không có sự trợ giúp của máy tính, hoặc có chăng chỉ là dùng để lu trữ các thông tin
về t liệu cha cho phép hỗ trợ đắc lực trong việc quản lý cho nên mọi hoạt động của
Th viện còn phức tạp, nặng nề và trùng lặp, làm tốn nhiều công sức trong việc quản
lý
Th viện là nơi phục vụ nhu cầu của các độc giả dới nhiều hình thức nh cho
m-ợn sách, hớng dẫn độc giả khai thác thông tin, tổ chức hội thảo về sách, khai thác sách từ phía các nhà xuất bản theo yêu cầu của độc giả
Nhằm đáp ứng nhu cầu ngày càng cao của bạn đọc và đảm bảo đợc tính thời
sự của các loại thông tin trong Th viện thì các đầu sách báo và t liệu vẫn thờng xuyên đợc cập nhật và bổ xung Để giúp bạn đọc có thể dễ dàng tra cứu các loại sách báo, tạp chí thì mỗi cuốn sách cần phải đợc mô tả bằng nhiều thông tin giúp ta tìm đến nó một cách nhanh nhất Ngời đọc cũng cần đợc Th viện quản lý thông qua thẻ đọc với một số thông tin cần thiết về bản thân, về sách mà ngời đó đã mợn tại
Th viện Ngoài ra, qua việc mợn sách của độc giả, Th viện biết đợc những loại sách
có nhu cầu mợn cao, do đó Th viện có thể xúc tiến việc đặt sách với các nhà xuất bản để đảm bảo đợc các đầu sách và số lợng để phục vụ độc giả tốt nhất
Để khắc phục tình trạng trên, đòi hỏi phải có sự đầu t, nghiên cứu áp dụng công nghệ thông tin để thiết kế và xây dựng một phần mềm chuyên dụng và có tính thống nhất cao đáp ứng yêu cầu quản lý thông tin Th viện ngày càng tăng về quy mô
và nội dung quản lý
Khoá luận tốt nghiệp (1998-2000) khoa CNTT- ĐHKHTN
Trang 5Vì vậy, trong thời gian vừa qua với sự giúp đỡ tận tình của: PGS TS : Vũ Đức Thi (Viện công nghệ thông tin ) Em đã tìm hiểu và xây dựng phần mền “Quản lý thông tin Th viện” dự trên công nghệ World Wide Web cho phép bạn đọc của Th
viện có thể truy nhập từ xa vào trang Web của Th viện để tra cứu và đăng ký mợn sách một cách thuận tiện và dễ dàng, mọi đối tợng có liên quan đến sự hoạt động của Th viện đều đợc đa vào máy tính quản lý, giúp cho công tác quản lý của Th viện trở nên đơn giản và gọn nhẹ Cũng nh trong mọi lĩnh vực quản lý khác việc áp dụng tin học vào quản lý Th viện cần hỗ trợ một cách đắc lực nhất cho ngời quản lý, do
đó cần áp dụng tin học vào một đối tợng cụ thể để xây dựng chơng trình quản lý Trong khuôn khổ bài khoá luận tốt nghiệp em thực hiện xây dựng chơng trình quản
lý thông tin Th viện của Đại Học Quốc Gia Hà Nội
Bài khoá luận gồm hai phần:
Phần A: Cơ sở lý thuyết: Nêu ra lý thuyết cơ bản về cơ sở dữ liệu quan hệ và kỹ thuật tạo Web bằng ASP (Active Server Page) thông qua cách thức truy nhập dữ liệu ADO (Active Data Object)
Phần B : Bài toán quản lý thông tin Th viện Đại Học Quốc Gia Hà Nội Nêu lên bài toán, cách thức để giải quyết bài toán, kết quả đạt đợc
Mặc dù đã có nhiều cố gắng nhng do hạn chế về mặt thời cũng nh kinh nghiệm nên bài khoa luận “Phân Tích Thiết Kế và Xây Dựng Chơng Trình Quản
Lý Thông Tin Th viện Đại Học Quốc Gia Hà Nội” chắc chắn không tránh khỏi
những sai sót Vì vậy rất mong đợc sự đánh giá, góp ý của các thầy, cô và bạn bè để chơng trình đợc tiếp tục hoàn thiện
Trang 6Phần A: Cơ sở lý thuyết
Chơng 1: cơ sở dữ liệu quan hệ
Không có một ứng dụng tin học nào mà không liên quan đến việc tổ chức lu trữ và khai thác dữ liệu Vì vậy việc tổ chức cơ sở dữ liệu tốt có nhiều u điểm rõ rệt: giảm đợc d thừa dữ liệu trong dữ liệu lu trữ, tránh đợc sự không nhất quán của dữ liệu, dữ liệu có thể đợc chia cho nhiều ngời dùng, bảo đảm sự tuân thủ các tiêu chuẩn thống nhất trong biểu diễn dữ liệu
Để lu trữ dữ liệu ngời ta có thể lu trữ dữ liệu theo ba mô hình:
1.1.Các khái niệm về cơ sở dữ liệu(CSDL):
♦ Thực thể (Entity):
Thực thể là một hình ảnh tợng trng cho một đối tợng cụ thể hay một khái niệm trừu tợng nhng có mặt trong thế giới thực
♦ Mối quan hệ (RelationShip):
Khoá luận tốt nghiệp (1998-2000) khoa CNTT- ĐHKHTN
Trang 7Chỉ các quan hệ hình thành giữa các thực thể khác nhau.
Ví dụ
Mối quan hệ giữa thực thể Bạn đọc và Tài liệu là quan hệ Mợn
Khi đó để mô tả quan hệ ngời ta dùng ký hiệu :
Các thực thể tham gia vào mối quan hệ đợc nối với nhau bằng :
Nếu hai thực thể tham gai vào quan hệ thì có thể có các loại quan hệ sau:
Ví dụ : Mối quan hệ giữa Bạn đọc và Tài liệu là n - m thông qua quan hệ
m-ợn có thuộc tính Thời gian
Khi đó cần chuẩn hoá thành:
Tài liệu
# Mã
tài liệu
M
ượnTh
ời gian
Trang 81.2 Các khái niệm về cơ sở dữ liệu quan hệ
1.2.1.Thuộc tính :
Một thuộc tính biểu thị một đơn vị thông tin nhỏ nhất, có thể đợc sử một cách tự do và có ý nghĩa độc lập với các đơn vị thông tin khác trong mọi mô hình thuộc tính đại diện cho một phần tử cơ sở của hệ thống thông tin
Một thuộc tính đợc xác định bằng một cặp {Tên thuộc tính, Miền giá trị}
1.2.1.1Tên thuộc tính:
Để xác định một thuộc tính, ngời ta đặt cho nó một cái tên, tên này đợc gọi
là tên thuộc tính Tên thuộc tính là duy nhất cho mỗi thuộc tính
1.2.1.2.Miền giá trị:
Mỗi thuộc tính đều phải thuộc một kiểu dữ liệu, kiểu dữ liệu có thể là vô ớng hoặc có cấu trúc Kiểu dữ liệu có cấu trúc đợc định nghĩa dựa trên các kiểu dữ liệu vô hớng
h-Một tập hợp các phần tử mà một thuộc tính có thể lấy giá trị gọi là miền giá trị, nói cách khác, miền giá trị là tập hợp các giá trị cùng loại có thể có của thuộc tính
1.2.1.3.Cách biểu diễn miền giá trị của một thuộc tính:
-Nếu số phần tử của miền giá trị là ít thì liệt kê tất cả các giá trị của các phần tử
Ví dụ {giới tinh (nam, nữ)}
Nếu số phần tử của miền là nhiều thì dùng cách mô tả tập hợp
Khoá luận tốt nghiệp (1998-2000) khoa CNTT- ĐHKHTN
# thời gian
Tài liệu
# Mã
tài liệu
Trang 9Ví dụ: {Tuổi sinh viên, số nguyên N: N ∈ [18:25]}
- Nếu số các phần tử của miền giá trị rất nhiều hoặc không biết trớc
đợc mà không có tính chất đặc trng nào thì mô tả tập hợp theo kiểu của dữ liệu
Ví dụ {Họ tên, chuỗi ký tự có độ dài < 30}
- Nếu kiểu dữ liệu của thuộc tính có cấu trúc thì miền giá trị của nó
là tích Đề Các của các miền giá trị thành phần
Ví dụ: {Toạ độ màn hình, [0 24]x[0 79]}
1.2.2 Quan hệ:
Cho R={a1,a2, ,an} là một tập hữu hạn và không rỗng các thuộc tính Mỗi thuộc tính ai có miền giá trị là Dai (các miền giá trị Dai không nhất thiết phải khác biệt nhau) Một quan hệ r trên R là các bộ {h1,h2, ,hm} với mỗi hj (j=1,2, , m) là một hàm:
hj :R ->
R
∈
ai Daisao cho hj (ai) ∈ Dai
Nói cách khác, một quan hệ r trên tập R là tập hợp con của tích Đề các của n miền giá trị Da1x Da2 x x Dan
Giá trị n đợc gọi là bậc của r, giá trị M đợc gọi là lực lợng của r
Quan hệ r có thể biểu diễn dới dạng bảng:
1.2.3 Phụ thuộc hàm (Functional dependency )
Khái niệm phụ thuộc hàm là một khái niệm có tầm quan trong hết sức lớn đối với việc thiét kế CSDL quan hệ Năm 1970 khái niệm này đợc E.F Codd đề cập
Trang 10nhằm giả quyết vấn đề phân rã các quan hệ (khi chuẩn hoá quan hệ) mà không mất mát thông tin.
Có hai loại phụ thuộc hàm:
- Phụ thuộc hàm trên quan hệ:
Cho R= {a1, a2, , an}là một tập hữu hạn không rỗng các thuộc tính, r={h1,h2, , hm} là một quan hệ trên R, và A,B ⊆ R Khi đó ta nói A xác định hàm cho B hay
B phụ thuộc hàm vào A trong r (ký pháp A -> B) nếu và chỉ nếu:
(∀hi,hj∈ r)( ∀a∈A)(hi(a)=hj(a)) ⇒ (∀b∈B)(hi(b)=hj(b))
- Phụ thuộc hàm trên tập thuộc tính:
Cho R={a1,a2,, ,an} là một tập hữu hạn và không rỗng các thuộc tính, một phụ thuộc hàm trên tập các thuộc tính R là một dãy ký tự có dạng A -> B với A,B ⊆
R
1.2.4 Sơ đồ quan hệ (Relation schema)
Một sơ đồ quan hệ s là một cặp <R,F> trong đó R là một tập các thuộc tính,
- Bất kỳ một tập con thực sự của K không là khoá của r
Các thuộc tính tham gia vào một khoá đợc gọi là thuộc tính khoá, các thuộc tính không tham gia vào một khoá gọi là thuộc tính không khoá (hay thuộc tính mô tả)
Từ định nghĩa của quan hệ và định nghĩa của khoá dễ thấy rằng một quan hệ luôn có ít nhất một khoá (tầm thờng nhất là lấy R làm khoá), có thể có nhiều khoá
và có thể có nhiều khoá tối thiểu
Từ định nghĩa của khoá và định nghĩa của phụ thuộc hàm trên quan hệ ta có thể chứng minh rằng khoá đợc dùng làm cơ sở để phân biệt hai bộ tuỳ ý trong một
Khoá luận tốt nghiệp (1998-2000) khoa CNTT- ĐHKHTN
Trang 11quan hệ Trong thực tế khi cài đặt trên một hệ quản trị CSDL xét về mặt hiệu quả sử dụng thì ngời ta dùng khoá tối thiểu để làm cơ sở nhận diện một bộ trong quan hệ, trong trờng hợp có nhiều khoá tối thiểu thì ngời ta chọn một khoá tối thiểu và khoá
đợc chọn này gọi là khoá chính (Primary key)
Ví dụ: xét quan hệ r trên bộ R={SCMT, Số thẻ, Họ và tên, chức vụ, Tên cơ quan chủ quản, địa chỉ} ta thấy quan hệ này ít nhất có các khoá sau:
1.2.6 Hệ tiên đề cho phụ thuộc hàm.
Để xác định đợc khoá của một quan hệ và các suy diễn logic giữa các phụ thuộc hàm đòi hỏi phải có các quy tắc suy diễn logic, muốn vậy phải xây dựng hệ tiên đề cho phụ thuộc hàm
Cho R là một tập hữu hạn không rỗng các thuộc tính, ký pháp P(R) là tập các tập con của R, giả sử A,B,C ∈ P(R) ta có:
Tiên đề 1(Phản xạ): B ⊆ A thì A -> B
Tiên đề 2(Tăng trởng): A -> B thì A∪B -> B ∪C
Tiên đề 3: (Bắc cầu): A -> B và B -> C thì A -> C
Hệ tiên đề trên do W.W Armstrong phát biểu đầu tiên năm 1974 nên còn
đ-ợc gọi là hệ tiên đề Armstrong
1.3 Chuẩn hoá các quan hệ và sơ đồ quan hệ
Việc chuẩn hoá các quan hệ và sơ đồ quan hệ đống vai trò cực kỳ quan trọng trong việc thiết kế các CSDL, hệ quản trị CSDL trên CSDL quan hệ Nhờ việc chuẩn hoá các quan hệ và các sơ đồ quan hệ mà chúng ta tránh đợc việc d thừa dữ liệu, loại
Trang 12bỏ đợc các dị thờng dữ liệu, giảm dung lợng lu trữ và tăng tốc độ của các thao tác trên dữ liệu.
Vào năm 1970, tiến sĩ E.F.Codd của IBM đã đa ra các định nghĩa về các dạng chuẩn của của quan hệ và các thuật toán đa quan hệ về các dạng chuẩn
1.3.1 Các định nghĩa về dạng chuẩn trong quan hệ
Để đơn giản trong việc đa ra các định nghĩa về các dạng chuẩn của quan hệ ta
đa ra ba định nghĩa sau:
Giả sử r là một quan hệ trên tập thuộc tính R, gọi Kr là tập các khoá tối thiểu của r Ta nói rằng a là một thuộc tính cơ bản (Prime) của r nếu tồn tại một khoá tối thiểu K∈ Kr để a là một phần tử của K Nếu a không thoả mãn tính chất trên thì a đ-
ợc gọi là thuộc tính thứ cấp của r
Giả sử r là một quan hệ trên tập thuộc tính R và A,B ∈ P(R), khi đó B đợc gọi
là phụ thuộc hàm đầy đủ vào A nếu B phụ thuộc hàm vào A nhng không phụ thuộc hàm vào bất kỳ một tập con thực sự nào của A
Giả sử r là một quan hệ trên tập thuộc tính R và A,C ∈ P(R) khi đó C đợc gọi
là phụ thuộc hàm bắc cầu vào A trên R nếu tồn tại B ∈ P(R)
Sao cho : A -> B, B -> C, nhng B không xác định hàm A với C ⊄ A ∪B
Điều kiện C ⊄ A ∪B cần để tránh trờng hợp C ⊆ B ⊆ A khi đó theo tiên đề phản xạ ta luôn có A -> B -> C, còn điều kiện B không xác định hàm A để loại bỏ nhiều khoá không cần thiết
♦ Quan hệ ở dạng chuẩn một (First Normal Form –1NF)
Một quan hệ đợc gọi là ở dạng chuẩn một nếu mỗi miền giá trị của mọi thuộc tính chỉ chứa những giá trị nguyên tố (atomic) tức là không chia nhỏ hơn đợc nữa
Ví dụ: Xét quan hệ Phiếu Mợn (Số thẻ, Tài liệu) trong đó mỗi tài liệu đợc thể hiện thông qua (Tên tài liệu, số lợng, Tên tác giả,Tập số, Tên Nhà xuất bản, Lần xuất bản), quan hệ này cha đợc chuẩn hoá
Khoá luận tốt nghiệp (1998-2000) khoa CNTT- ĐHKHTN
Trang 13Quan hệ (Số thẻ, Tên tài liệu, số lợng, Tên tác giả,Tập số, Tên Nhà xuất bản, Lần xuất bản ) là quan hệ đợc chuẩn hoá.
♦ Quan hệ ở dạng chuẩn hai (Second Normal Form – 2NF)
Một quan hệ đợc gọi là ở dạng chuẩn hai nếu:
sự của khoá chính Vì vậy ta tách quan hệ trên thành hai quan hệ:
TT_BANDOC(Số thẻ, Mức u tiên, Họ tên, chức vụ)
MUC_UU_TIEN(Mức u tiên, Số lợng đợc, Số ngày đợc mợn)
♦ Quan hệ ở dang chuẩn ba (Third Normal Form – 3NF)
Một quan hệ đợc gọi là ở dạng chuẩn ba nếu:
1.3.2 Thực hiện chuẩn hoá
♦ Đa quan hệ về dạng chuẩn một:
Thông thờng các quan hệ vi phạm điều kiện của dạng chuẩn một theo các ờng hợp sau:
tr Mọi giá trị xuất hiện trong một thuộc tính có thể chia thành một số phần nhất định Ví dụ thuộc tính Cơ quan chủ quản (trong quản lý bạn đọc) có thể chia
Trang 14thành Trờng, Khoa, lớp Nh vậy trong trờng hợp này ta chỉ việc tách thuộc tính ấy thành các thuộc tính cụ thể hơn
- Các giá trị xuất hiện trong một thuộc tính có thể chia nhỏ nhng không thể chia thành cùng một số thành phần nhất định Trong trờng hợp này ta phải thêm các
bộ mới Ví dụ Tài liệu đợc ghi trong phiếu mợn rõ ràng là trong một lần mợn Bạn
đọc có thể mợn nhiều loại tài liệu khác nhau (nh Kỹ năng lập trinh Visual basic, Tạp chí PC World, ) Nên trong trờng hợp này mỗi bộ trong quan hệ sẽ phải chia thành một số bộ đúng bằng số loại tài liệu mà Bạn đọc mợn
♦ Đa quan hệ về dạng chuẩn hai:
Trớc hết ta giả thiết là quan hệ đã ở dạng chuẩn một đối với tập R tất cả các thuộc tính Tiếp đến vấn đề dặt ra là : Tập thuộc tính nào là khoá chính của quan hệ (khoá chính của quan hệ có thể xác định bằng ngữ nghĩa của các thuộc tính) Giả sử khoá chính đã đợc xác định là K
Sự vi phạm điều kiện của dạng chuẩn hai thể hiện ở chỗ tồn tại một tập thuộc tính Y chỉ phụ thuộc hàm vào mộy bộ phận của khoá chính là K’ ⊂ K Khi ấy ta thực hiện phân rã quan hệ bằng cách đa các thuộc tính {K’,Y} sang một quan hệ và các thuọc tính R - Y sang một quan hệ khác Rõ ràng, K là khoá chính của quan hệ chứa các thuộc tính {R- Y}, còn K’ là khoá chính của quan hệ chứa các thuộc tính {K’,Y}
♦ Đa quan hệ về dạng chuẩn ba:
Để đa quan hệ cha ở dạng chuẩn ba về các quan hệ ở dạng chuẩn ba ta giả thiết nó đã ở dạng chuẩn hai và phải thực hiện các bớc sau:
- Tìm một khoá chính của quan hệ
- Tìm ra các phụ thuộc hàm bắc cầu vào khoá chính dạng K -> X, X -> Y
- Nếu tìm thấy phụ thuộc hàm bắc cầu nh vậy ta sẽ phân rã quân hệ thành hai quan hệ {X,Y} và R-Y
- Kiểm tra đối với các quan hệ vừa nhận đợc đẫ ở dạng chuẩn ba cha, nếu cha thì thực hiện phân rã tiếp nh trên
Ta có thể hình dung các vị trí các dạng chuẩn nh hình sau:
Khoá luận tốt nghiệp (1998-2000) khoa CNTT- ĐHKHTN1
Trang 15Để có thể liên kết đợc hai quan hệ với nhau, đối với mỗi quan hệ ta phải xác
định đợc khoá liên kết Khoá liên kết là tổ hợp thuộc tính của mỗi quan hệ, mà nhờ
có tổ hợp này ta có thể liên kết quan hệ này với quan hệ kia bằng cách so sánh giá trị của tổ hợp này đối với các bộ của mỗi quan hệ, nếu mỗi quan hệ có ít nhất một
bộ giá trị bằng nhau thì hai bộ này đặt tơng ứng với nhau
Trong liên kiết 1-1 ta phải xác định quan hệ nào là chính, quan hệ còn lại sẽ
là phụ Khoá liên kết ở quan hệ chính đợc gọi là khoá ngoại (Foriengn key), còn khoá liên kết ở quan hệ phụ là khoá chính ở quan hệ phụ
Trang 16Chơng 2 World Wide Web và Kỹ thuật tạo Web
2.1 Giới thiệu về World Wide Web.(WWW)
WWW đợc xây dựng và hoạt động theo mô hình Client/Server Trớc tiên ta sẽ tìm hiểu về mô hình Client/Server
2.1.1 Mô hình Client/Server
Thuật ngữ Server đợc dùng cho những chơng trình thi hành nh một dịch vụ trên toàn mạng Các chơng trình Server này chấp nhận tất cả các yêu cầu hợp lệ đến
từ mọi nơi trên mạng, sau đó thi hành dịch vụ và trả kết quả về nơi yêu cầu Một
máy tính chứa chơng trình Server đợc gọi là một máy chủ hay máy phục vụ (server).
Một chơng trình đợc coi là Client khi nó gửi các yêu cầu tới máy server và
đợi câu trả lời từ Server Máy có chứa chơng trình client đợc gọi là máy khách
(client).
Chơng trình Client và Server nói chuyện với nhau bằng các thông điệp
(messages) thông qua một cổng truyền thông liên tác IPC (InterProcess
Communication) theo một chuẩn nói chuyện có sẵn đợc gọi là giao thức (protocol)
Trên thực tế sự phân biệt giữa Client và Server chỉ là tơng đối Một Client có thể gửi yêu cầu đến một hoặc nhiều Server, Server không những đáp ứng yêu cầu của Client mà còn có thể gửi yêu cầu tới Server khác, trong trờng hợp này Server đã trở thành một Client Ví dụ nh một Database Server có thể yêu cầu một Printer Server in một văn bản
Với mô hình trên ta nhận thấy mô hình Client/Server chỉ mạng đặc điểm của phần mềm chứ không liên quan gì đến phần cứng mặc dù trên thực tế yêu cầu về phần cứng của một máy Server là cao hơn rất nhiều so với một máy Client do máy Server phải quản lý rất nhiều các yêu cầu từ các client khác nhau trên mạng
2.1.2 Ưu nhợc điểm chính của mô hình Client/Server
Trong mô hình Client/Server, dữ liệu và tài nguyên đợc chia sẻ giữa hai máy, tăng hiệu quả hoạt động của hệ thống Có thể nói rằng với mô hình Client/Server, mọi thứ dờng nh nằm trên bàn của ngời sử dụng, dữ liệu đợc truy nhập từ xa với nhiều dịch vụ đa dạng mà các mô hình cũ không có đợc Ngoài ra, mô hình Client/Server cung cấp một nền tảng lý tởng cho phép tích hợp các kỹ thuật hiện đại
nh mô hình thiết kế hớng đối tợng, hệ chuyên gia, hệ thông tin địa lý (GIS),
Khoá luận tốt nghiệp (1998-2000) khoa CNTT- ĐHKHTN
Trang 17Một trong những vấn đề nảy sinh của mô hình này là vấn đề an toàn và bảo mật thông tin trên mạng Do phải trao đổi dữ liệu giữa hai máy ở hai khu vực khác nhau nên dễ xảy ra trờng hợp thông tin trên đờng truyền bị lộ.
2.1.3 Mô hình World Wide Web (Web Client/Server)
Mô hình Client/Server ứng dụng vào trong Web đợc gọi là mô hình Web Client/Server Giao thức chuẩn đợc sử dụng để giao tiếp giữa Client và Server và giao thức HTTP (HyperText Transfer Protocol Giao thức truyền thông siêu–
đầu tiên vào tháng 8-1991 trên nhóm tin alt.hypertext Từ đó nhiều nhà sản xuất đã tham gia phát triển Web cho hệ thống của mình(UNIX, WINDOW, .)
Tuy ra đời muộn hơn so với các dịch vụ khác của Internet nhng WWW lại có tốc độ phát triển nh vũ bão và làm cho Internet hấp dẫn hơn lôi cuốn nhiều ngời quan tâm hơn Giao diện đồ hoạ của Web cho phép ngời sử dụng không có hiểu biết sâu sắc về tin học cũng có thể sử dụng đợc Nhờ có liên kết, họ có thể đi từ thông tin này đến thông tin khác mà không cần biết nó nằm ở đâu trên mạng Web xoá nhoà khoảng cách về địa lý, ranh giới giữa các quốc gia, giúp con ngời có thể tiếp xúc với những thông tin mới nhất trên toàn thế giới Các khả năng của Internet ngày nay chủ yếu dựa vào World Wide Web Mặt khác trình duyệt Web bây giờ không chỉ làm mỗi chức năng là cho xem các t liệu HTML mà bây giờ nó còn tích hợp cả cả các dịch vụ khác của Internet nh E-Mail, FTP, Nh vậy, chỉ cần và thông qua giao diện Web, ta có thể thực hiện mọi dịch vụ của Internet Điểm nổi bật của Web là:
+ Web cho phép hiển thị thông tin cần truy tìm theo chế độ đồ hoạ, hơn hẳn những dòng văn bản buồn tẻ của Internet trớc đây
+ Web cho phép ta có thể “chui” vào mọi ngõ ngách trên Internet, những
điểm chứa cơ sở dữ liệu gọi là Web Site
Trang 18+ Web giúp cho ngành dịch vụ, giải trí một phơng tiện tuyệt vời, tạo điều kiện cho việc xuất bản tạp chí sách báo một cách nhanh chóng dễ dàng.
+ Web ngày nay hỗ trợ đắc lực cho các công ty trong công việc kinh doanh
nh quảng cáo tiếp thị, nghiên cứ thị trờng, bán hàng,
2.2 Những khái niệm cơ bản về World Wide Web.
2.2.1.Địa chỉ trên Web.
Địa chỉ của Web đợc biết đến nhờ các URL (Uniform Resource Locatoion -
Bộ định vị tài nguyên thống nhất) Nếu các trang Web đợc ghi lồng vào sâu hết mục này đến mục khác thì địa chỉ của Web sẽ hết sức dài Một URL thờng có cấu trúc
+ File.name: Tên của trang Web Trang Web này thờng mặc định là có phần
mở rộng là HTM, HTML nhng cũng có thể có phần mở rộng nh ASP, CGI, DLL, EXE, PL
URL đợc sử dụng ở tất cả các dịch vụ thông tin trên mạng Mỗi một trang Web có một URL duy nhất để xác định trang Web đó Qua phân tích cấu trúc của một URL, ta thấy rằng thông qua URL có thể truy cập tới bất cứ một tài nguyên thông tin dữ liệu của bất kỳ một dịch vụ thuộc bất kỳ một máy tính nào trên mạng
2.2.2 Web Server
Web server là một phần mềm đóng vai trò phục vụ Khi đợc khởi động, nó
đ-ợc nạp vào bộ nhớ và đợi các yêu cầu từ nơi khác gửi đến Quá trình này gọi là Listen và quá trình này cũng phải phân biệt là yêu cầu gửi đến từ cổng nào chẳng hạn thờng thì HTTP dùng cổng 80, FTP dùng cổng 21, Gopher dùng cổng 25 Các yêu cầu có thể đợc gửi đến từ Web Browser từ máy trạm của ngời dùng hoặc cũng
Khoá luận tốt nghiệp (1998-2000) khoa CNTT- ĐHKHTN
Trang 19có thể đợc gửi đến từ một Web Browser khác và ta gọi chung các đối tợng gửi yêu cầu đến là các khách hàng (Client) Các yêu cầu đối với Web Server thờng là về một
t liệu hoặc thông tin nào đó Sau khi nhận đợc yêu cầu nó phân tích xem thông tin hay t liệu khách hàng muốn là gì, trong trờng hợp khách hàng chỉ yêu cầu lấy một trang Web tĩnh thì nó sẽ tìm lấy trang Web đó và gửi trả lại cho Web khách hàng d-
ới theo giao thức HTTP Trờng hợp có yêu cầu trang Web động thì một số chơng trình trên Web Server sẽ đợc kích hoạt mở và xử lý thông tin cần thiết sau đó sẽ trả lại cho khách hàng các thông tin đã xử lý dới dạng trang Web tĩnh
2.2.3 Web Client
Ngời dùng cuối dùng một trình ứng dụng gọi là trình duyệt Web(Web Browser ) để kết nối và gửi các yêu cầu tới máy chủ Web Server Sau khi gửi các yêu cầu thông tin từ máy trạm lên máy chủ, Web Browser sẽ đợi câu trả lời và các thông tin từ máy chủ trả về và hiển thị các thông tin đó dới dạng trang Web cho ngời
sử dụng Có nhiều loại Browser khác nhau:
+ Lynx trong Unix
đoạn mã script, các thẻ của HTML và các đoạn văn bản (text) Trên mỗi trang ASP
Trang 20có một ngôn ngữ script gọi là ngôn ngữ script cơ sở Ngôn ngữ cơ sở có thể là một trong các ngôn ngữ script thông dụng sau: JScript, VBScript, Perl Ngôn ngữ cơ
sở mặc định là VBScript Để thiết lập lại ngôn nggữ script mặc định ASP cung cấp lệnh sau
<% LANGUAGE=Tên_ngôn_ngữ_Script %>
Các script này đợc chạy ngay trên Web Server mà không cần biên dịch riêng Chính điều này đã làm cải thiện đáng kể tới tốc độ thực hiên ứng dụng đợc xây dựng bằng ASP Để chạy đợc những đoạn chơng trình đợc viết bằng ngôn ngữ script thì phải có máy Script (Engine) Máy script làm nhiệm vụ đọc tệp nguồn của chơng trình, dịch và thực hiện các câu lệnh trong đó Mỗi ngôn ngữ Script đòi hỏi phải có một máy Script riêng Ví dụ các đoạn chơng trình viết bằng VBScript thì phải có VBScript Engine, bằng JScript thì phải có JScript Engine
Phân loại Script: Các ngôn ngữ Script còn đợc phân loại theo vị trí mà nó
đ-ợc nạp và thực hiện Có hai loại nh sau:
a Server-side script:
Là những đoạn script nằm trong tệp ASP sẽ đợc thực hiện ở máy chủ và sẽ không
nằm trong kết quả trả về cho Web Browser của ngời dùng Các side script đợc khai báo theo cú pháp nh sau:
Server-<% Những lệnh nằm trong này đợc thực hiện trên Server %>
hoặc
Các lệnh script đợc thực hiện trên Server
</Script>
b Client-side script:
Là những đoạn script nằm trong tệp ASP mà nó sẽ đợc thực hiện trên Web Browser
của Client Những đoạn Script này thờng dùng để hỗ trợ việc tính toán
đơn giản ngay trên Client Các Client_side Script đợc khai báo nh sau:
Các lệnh script
</SCRIPT>
Khoá luận tốt nghiệp (1998-2000) khoa CNTT- ĐHKHTN
Trang 21Tóm lại quá trình làm việc của một ứng dụng đợc xây dựng bằng ASP gồm các bớc nh sau:
• Bớc 1: Khi Web Browser ở máy ngời dùng gửi một yêu cầu về một tệp ASP cho Web Server
• Bớc 2: Tệp ASP đó đợc nạp vào bộ nhớ và thực hiện tại máy chủ (Server) Các đoạn chơng trình script trong tệp ASP đó có thể là mở dữ liệu, thao tác với dữ liệu để lấy đợc những thông tin mà ngời dùng cần đến Trong giai đoạn này tệp ASP đó cũng xác định xem là đoạn Script nào là chạy trên máy chủ, đoạn Script nào là chạy trên máy ngời dùng
• Bớc 3: Sau khi thực hiện kết quả đó sẽ đợc trả về cho Web Browser của ngời dùng dới dạng một trang Web tĩnh
2.3.2 Các đối tợng của ASP.
ASP cung cấp một loạt các đối tợng cho phép nhận thông tin từ Web Browser hoặc đáp ứng các yêu cầu từ Web Browser, hoặc lu các thông tin về ngời dùng Active Server Page gồm có các đối tợng sau:
2.3.2.1 Application:
Đối tợng Application đợc dùng để chia sẻ thông tin giữa các ngời dùng của
cùng một hệ thống ứng dụng Một ứng dụng cơ bản ASP đợc định nghĩa là gồm tất cả các tệp ASP ở trong một th mục ảo và tất cả các th mục con của th mục ảo đó Có thể sử dụng các phơng thức LOCK và UNLOCK của đối tợng Application để khoá
và bỏ khoá khi chạy ứng dụng đó với nhiều ngời dùng
Trang 22Các đối tợng con của đối tợng Session:
* Contents: Chứa tất cả các đối tợng đợc thêm vào Session trong quá trình thực hiện
các Script
* StaticObjects: Chứa tất cả các đối tợng đợc thêm vào Session trong quá trình thực
hiện các trang Web có chứa các thẻ <OBJECT>
Các phơng thức của đối tợng Session.
Abandon: Huỷ bỏ Session hiện thời và giải phóng mọi thông tin liên quan đến
Session
Các sự kiện (Events)
Session_OnStart : Xảy ra khi Server tạo ra một Session mới và việc này đợc thực
hiện trớc khi Server trả lời lại yêu cầu của Web Browser Mọi thông tin và các biến sử dung chung trong một Session tốt nhất là đợc khởi tạo tại đây và mọi thành phần khác của ASP đều có thể đợc tham khảo trong Event này
Session_OnEnd : Xảy ra khi Session kết thúc hoặc bị timeout
Khoá luận tốt nghiệp (1998-2000) khoa CNTT- ĐHKHTN
Trang 232.3.2.3 Request:
Đối tợng này chứa các thông tin của Web Browser gửi đến Server thông qua
giao thức TCP/IP Cú pháp nh sau:
Request[.collection|property|method](variable)
Trong đó thành phần Collection có thể gồm những đối tợng nh sau:
1 Cookies: Giá trị cookies của Web Browser gửi đến Server thông qua HTTP
Form: Khi một nút Submit của Form đợc bấm thì toàn bộ giá trị của Form đó sẽ đợc
truyền về Server
3. QueryString: Các tham số có thể đợc truyền đến tệp ASP bằng đối tợng FORM Nhng trong trờng hợp mà dùng các HyperLink mà muốn truyền tham số thì phải dùng QueryString
4 ServerVariables: Chứa các thông tin về các biến môi trờng đã đợc định nghĩa sẵn
2.3.2.4.Response:
Đối tợng này đợc dùng để gửi kết quả cho Web Browser
Các phơng thức (Methods)
Add header: Thêm một phần Header mới vào HTML header với một số giá trị chọn
lọc Phơng thức này luôn luôn thêm vào chứ không ghi đè lên thông tin
đã có sẵn
Cú pháp : Response.AddHeader name, value
Clear: Xoá toàn bộ bộ đệm ra của HTML, phơng thức này chỉ xoá phần thân của
Response chứ không xoá phần Header của Response
End: Kết thúc việc xử lý ở tệp ASP và gửi về Web Browser những kết quả thu đợc
cho đến lúc xảy ra phơng thức này
Flush: Khi các thông tin đợc gửi ra bộ đệm kết quả thì những thông tin đó cha đợc
gửi về ngay Web Browser mà chỉ đến khi dùng phơng thức này thì thông tin sẽ đợc gửi ngay tức khắc về Web Browser Tuy nhiên cũng sẽ xảy ra thông báo lỗi Run-time nếu nh Response.Buffer cha đợc đặt giá trị = True
Trang 24Redirect: Phơng thc này dùng để định hớng địa chỉ của trang Web trên Web
<% Set Session("ad") = Server.CreateObject("MSWC.AdRotator")%>
HTMLEncode: Cung cấp khả năng mã hoá các xâu ký tự
MapPath: Phơng thức này trả về địa chỉ vật lý tơng ứng với địa chỉ th mục ảo trên
Set Abort: Phơng thức này khai báo rằng Transaction khởi tạo bằng script
đã không hoàn thành
Các sự kiện (Events) : OnTransactionCommit, OnTransactionAbout
Khoá luận tốt nghiệp (1998-2000) khoa CNTT- ĐHKHTN
Trang 252.4.Lập trình ADO (ActiveX Data Objects Programming).
ADO là một ngôn lập trình đơn giản dành cho việc tơng tác với cơ sở dữ liệu trên Internet và Intranet ADO có thể đợc sử dụng để viết những scripts gọn nhẹ dành cho việc kêt nối với ODBC (Open DataBase Connectivity) Trớc khi tạo những
script xử lý cơ sở dữ liệu ADO cần phải đợc cung cấp một cách để định vị, tơng tác với cơ sở dữ liệu Việc kết nối với ODBC thông qua các Driver cơ sở dữ liệu Các driver cơ sở dữ liệu là các chơng trình đa thông tin từ ứng dụng Web tới cơ sở dữ liệu Việc kết nối này sử dụng tên nguồn dữ liệu DSN(Data Source Name) DSN
chứa những thông tin về việc bảo mật, việc tham chiếu tới cơ sở dữ liệu vật lý
ADO có mô hình đơn giản nh sau:
2.4.1.Đối tợng Connection.
Đối tợng này đợc dùng để tạo một kết nối tới một cơ sở dữ liệu.Dể tạo một kết nối với cơ sở dữ liệu trớc tiên phải tạo ra một biến Connection sau đó sử dụng phơng thức Open của đối tợng này
<%
Set biến_đối_tợngServer.CreateObject(“ADODB.Connection”)Biến_đối_tợng.Open “DSN=ThuVien”
%>
ThuVien là tên một cơ sở dữ liệu nguồn(DSN) mà đã dợc tạo ra trớc đó
Đối tợng Connection cung cấp phơng thức Execute để thực hiện một truy vấn trên dữ liệu đã đợc tạo kết nối
Connection
Command
Errors
Fields Parameters
Recordset
Trang 262.4.2.Đối tợng Recordset.
Mặc dù đối tợng Connection dễ dàng tạo một kết nối và thực hiện truy vấn, nhng đối tợng này còn nhiều hạn chế Hạn chế của đối tợng này là khả năng thao tác với cơ sở dữ liệu không mềm dẻo, phải biết chính xác trớc cấu trúc của dữ liệu mới thực hiện truy vấn đợc Để khắc phục những hạn chế này ADO cung cấp đối tợng Recordset Recordset cho phép lấy dữ liệu, nghiên cứu kết quả, và cập nhật cơ sở dữ liệu Đối tợng Recordset duy trì vị trí của mỗi bản ghi đợc trả về bởi một truy vấn, vì vậy ta có thể duyệt từng bản ghi một từ bản ghi đầu tiên tới bản ghi cuối cùng Tạo
ra một đối tợng Recordset có dạng nh sau:
<% Set biến_đối_tợng= Server.CreateObject(“ADODB.Recordset”)
biến_đối_tợng open source, ActiveConnection , CursorType, LockType
%>
Source: Thờng là một xâu lệnh SQL, cũng có thể là tên của một bảng
ActiveConnection: Tham số thứ hai của phơng thức Open là một trong hai dạng
sau:
+ Sử dụng một xâu ký tự chỉ ra rằng tạo một kết nối mới
+ Chỉ ra một kết nối đã tạo ra bằng đối tợng Connection Cách này thờng
đ-ợc dùng nhiều hơn bởi vì chỉ cần tạo một kết nối bằng đối tợng Connection ta có thể taọ ra nhiều đối tợng Recordset sử dụng kết nối này
Với Recordset tại mỗi thời điểm con trỏ chỉ có một bản ghi đợc xétgọi là bản ghi hiện thời Để di chuyển con trỏ tới bản ghi mong muốn ADO cung cấp các ph-
ơng thức sau của Recordset nh:
MoveFirst di chuyển con trỏ tới bản ghi đầu tiên
MoveLast di chuyển con trỏ tới bản ghi cuối cùng
MovePrevious di chuyển con trỏ tới bản ghi đầu tiên
MoveNext di chuyển con trỏ tới bản ghi tiếp theo.
Move n Di chuyển n bản ghi kể từ bản ghi hiện tại
Sau đây là một số thuộc tính thông dụng của Recordset:
Khoá luận tốt nghiệp (1998-2000) khoa CNTT- ĐHKHTN
Trang 27+Thuộc tính EOF: Nếu TênRecordset.EOF=true thì ADO báo cho biết con
trỏ đã ở vị trí cuối cùng của Recordset Thuộc tính này thờng đợc dùng dể kiểm tra xem đã duyệt hết các bản ghi trong Rcordset
+Thuộc tính BOF: Kiểm tra con trỏ đã ở vị trí đầu tiên của Recordset cha.+ Thuộc tính RecordCount: Cho biết tổng số bản ghi hiện tại
+ Thuộc tính Filter: Đặt lọc cho Recordset có dạng nh sau:
<%
Tên_Recordset.Filter = “ Điều kiện của lọc ”
%>
Khi đặt lọc mới thì lọc cũ bị mất đi và Recordset lúc đó chỉ còn lại những bản ghi
thoả mãn điều kiện của lọc.
* Sau đây là một số phơng thức thông dụng của Recordset:
+ AddNew: Cho phép thêm một bản ghi mới Phơng thức này đợc sử dụng nh
sau:
Tên_Recordset.AddNew
Tên_Recordset( Tên_tr“ ờng )= giá_trị”
.Tên_Recordset.Update
Phơng thức Update đợc dùng để ghi nhớ những thay đổi của Recordset
+Close : Đóng recordset.
Tất cả các thuộc tính và phơng thức của đối tợng Recordset cho phép thao thao tác với cơ sở dữ liệu ở mức hàng Để có thể thao tác các bảng ở mức cột ADO cung cấp một đối tợng Field là đối tợng con của RecordSet Ta có thể lấy giá trị của các trờng của bản ghi hiên tại theo cách sau:
Biến_Recordset(“Tên_trờng”) Với trờng hợp không biết chính xác tên trờng
có thể dùng Biến_Recordset(i).name để biết tên trờng và dùng
Trang 28đánh số các trờng đợc bắt đầu từ 0 đến tổng số các trờng trừ 1 là
2.4.3.Đối tợng Command.
ADO đối tợng Command cho phép thực hiện các truy vấn nh thực hiện các
truy vấn với các đối tợng Connection và Recordset Tuy nhiên với Command ta có thể chuẩn bị, hoặc biên dịch truy vấn trên cơ sở dữ liệu Sau đó có thể dùng lại truy vấn với một bộ giá trị mới Chính việc biên dịch các truy vấn theo cách này có thể giảm thời gian lớn trong việc sử dụng những truy vấn đã có
2.4.4.Các đối tợng Errors
Là tập hợp các đối tợng lỗi sinh ra do quá trình truy cập cơ sở dữ liệu không thành Bởi vì một lệnh truy cập cơ sở dữ liệu có thể sinh nhiều lỗi, nên ADO định nghĩa tập hợp các đối tợng Error hơn là một đối tợng Error đơn Với cùng một thao tác thì mỗi lỗi xảy ra khi thực hiện thao tác sẽ đợc gắn với một đối tợng Error.Các thông tin của các thuộc tính trong mỗi đối tợng Error này đợc tự động điền nh mã lỗi, mô tả và nguồn gốc của nó
Khoá luận tốt nghiệp (1998-2000) khoa CNTT- ĐHKHTN
Trang 29Phần B : Bài toán “Xây dựng hệ thống thông tin Th viện Đại Học Quốc Gia - Hà Nội”.
Đại Học Quốc Gia Hà Nội là một trong những trờng Đại học lớn ở Việt Nam gồm có bốn trờng thành viên Đó là Đại Học Khoa Học Tự Nhiên, Đại Học Khoa Học Xã Hội & Nhân Văn, Đại Học S Phạm Ngoại Ngữ và có các khoa trực thuộc tr-ờng Do đó việc quản lý cũng phục vụ bạn đọc của Th viện Đại Học Quốc Gia rất phức tạp, hiện nay Th viện đã có phần mềm phục vụ cho việc tra cứu tài liệu nhng phần nay cha cho phép hỗ trợ việc hộ trợ cho các nhân viên trong việc cho mợn và thu hồi lại tài liệu, vã lại phần mềm cho phép tra cứu nhng cha chỉ ra là tài liệu đó hiện có còn trong Th viện không?, nên nhiều khi bạn đọc mất rất nhiều công sức trong việc mợn tài liệu Phần mềm mà Th viện hiện đang sử dụng, dùng trên máy PC cho nên mỗi khi cập nhật dữ liệu mới thì phải mang dữ liệu đó đến các máy ở các
Th viện thành viên cập nhật lại, điều này làm tốn thời gian và không phản ánh đợc tính thời sự của t liệu có trong Th viện, gây khó khăn trong việc thống kê và quản
lý Do đó bài toán đặt ra là xây dựng một phần mềm quản lý thông tin Th viện Đại Học Quốc Gia Hà Nội cho phép việc quản lý lu trữ thông tin tập trung và phản ánh
đợc tính thời sự của t liệu cũng nh hỗ trợ đắc lực các công việc của nhân viên, của bạn đọc tham gia trong hoạt động của Th viện Để giải quyết bài toán này em chọn giải pháp là xây dựng hệ thống theo mô hình World Wide Web bằng cách sử dụng công nghệ tạo web trên ASP thông qua cách thức truy cập dữ liệu ADO với hệ quản trị dữ liệu là Access
Chơng 3 Phân tích
3.1.Chức năng nghiệp vụ.
3.1.1 Các đối tợng đợc quản lý trong Th viện
Qua quá trình khảo sát hoạt động của Th viên Đại Học Quốc Gia Hà Nội thu
đợc kết quả nh sau:
Th viện Đại Học Quốc Gia gồm có 4 Th viện thành viên Th viện Thợng
Đình (Gồm ĐHKHTN và ĐHKHXH-NV), phòng đọc Mễ trì, Th viện ĐHNN và trung tâm chính (tại nhà 7 tầng của Đại Học Quốc Gia)
Trang 30Mọi hoạt động của Th viện bao gồm các công việc nhằm phục vụ nhu cầu
đọc, nghiên cứu tài liệu của Bạn đọc Do đó để thực hiện đợc các công việc của mình Th viện phải quản lý các đối tợng tợng sau:
- Bạn đọc: Lu giữ và quản lý các thông tin về những ngời đến đọc, nghiên cứu tài liệu tại Th viện
- Tài liệu bao gồm: Sách, Luận văn, Tạp chí đợc sắp xếp và lên biên mục, bảo quản và quản lý việc mợn trả tài liệu của Bạn đọc
- Nhà xuất bản: Lu giữ các thông tin về nhà xuất bản để thuận tiện cho việc liên hệ và đặt tài liệu tại các nhà xuất bản
- Nhân viên: Do Th viên có rất nhiều kho tài liệu và nhiều Bạn đọc đến tham gia vào đọc, mợn tài liệu tại Th viện nên cần nhiều nhân viên phục vụ tài Th viện do đó nhân viên cần đợc quản lý và phân công công việc một cách hợp lý để hoạt động của Th viên mang hiệu quả cao Trong khuôn khổ bài khoá luận tốt nghiệp, em không đa việc quản lý nhân viên vào hệ thống mà chỉ coi nhân viên nh là ngời sử dụng và có quyền cao hơn Bạn đọc
3.1.2 Các chức năng nghiệp vụ
3.1.2.1.Các chức năng nghiệp vụ đối với nhân viên:
♦ Chức năng bổ sung tài liệu: Theo định kỳ Th viện thống kê từ nhu cầu Bạn đọc và thu thập thông tin về tài liệu từ các nhà xuất bản Sau đó có kế hoạch mua bổ sung tài liệu cho Th viện
♦ Chức năng Biên mục tài liệu: Khi tài liệu đợc nhận về Th viện thực hiện chức năng Biên mục tài liệu, bằng cách phân loại tài liệu (Theo bảng ký hiệu BBk hoặc DDC ) và mô tả tài liệu cũng nh lên mục lục để thuận tiện cho việc quản lý, khai thác tài liệu của Th viện
♦ Chức năng cho mợn: Việc cuối cùng của Th viện là phục vụ nhu cầu Bạn
đọc chức năng này thực hiện việc chuyển tài liệu tới tay bạn đọc để phục
vụ các yêu cầu của Bạn đọc
♦ Chức năng thu tài liệu từ Bạn đọc: Khi tài liệu đợc đa cho Bạn đọc thì sau một khoảng thời gian nhất định Th viện phải thu hồi lại tài liệu để chuyển
Khoá luận tốt nghiệp (1998-2000) khoa CNTT- ĐHKHTN
Trang 31tạo điều kiện cho Bạn đọc khác có điều kiện mợn đọc và tài liệu có tác dụng hơn.
♦ Chức năng thống kê tài liệu, báo cáo : Theo hàng quí, hàng năm Th viện phải thực hiện việc thống kê về tài liệu trong kho cũng nh tình hình mợn trả tài liệu của Bạn đọc để và lập ra các báo cáo nhằm định hớng cho hoạt
động của Th viện trong thời gian tới Trong chức năng này có cả việc lập danh sách những Bạn đọc mợn tài liệu quá hạn hoặc làm mất tài liệu để
có biện xử lý thu hồi, bồi thờng lại tài liệu
3.1.2.2 Các chức năng nghiệp vụ đối với Bạn đọc
♦ Chức năng đăng ký làm thẻ: Khi một ngời muốn tham gia đọc, mợn tài liệu ở Th viện thì ngời đó phải đăng ký làm thẻ với Th viện và phải nộp một số tiền đặt cợc nhất định Sau đó họ sẽ nhận đợc một tấm thẻ do Th viện phát cho và họ hởng các quyền lợi về đọc, mợn tài liệu tại Th viện
♦ Chức năng tra cứu tài liệu: Do Th viện có rất nhiều tài liệu nên để thuận tiện mợn và cho mợn Bạn đọc phải biết chính xác về các thông tin liên quan đến tài liệu (nh tên tài liệu, tác giả, nhà xuất bản ) và tài liệu đó hiện Th viện có có hay không, Ban đọc phải tra cứu tài liệu để có các thông tin cần thiết khi mợn
♦ Chức năng mợn tài liệu: Khi Bạn đọc có nhu cầu về tài liệu thì Bạn đọc muốn đạt đợc nhu cầu đó bằng cách phản ánh nhu cầu đó qua yêu cầu m-
ợn tài liệu và thực hiện công việc mợn tài liệu
♦ Chức năng trả tài liệu: Sau khi mợn và sử dụng tài liệu Bạn đọc phải trả tài liệu cho theo đúng thời gian qui định
3.1.3 Các qui tắc nghiệp vụ và các ràng buộc:
- Quy tắc đánh số thẻ Th viện:
Niên khoá (0000) + số thứ tự của thẻ trong niên khoá đó (<10000)
Ví dụ: 199800030: Năm 1998 số thứ tự là 30
- Quy tắc đánh mã lu trữ (đanh só đăng ký cá biệt):
Ngôn ngữ +Kích cỡ + “-“ +Loại kho + Mã kho + “/” + số thứ tự của tài liệu trong sổ đăng ký của loại kho đó
Trang 32Ví dụ: AV-D5/300: là tài liệuNgôn ngữ : Tiéng Anh
Loại : Vừa
Kho loại : Thuộc kho đọc Mễ trì
Số thứ tự : 300
- Một bản tài liệu phải đợc trả lại theo nguyên trạng nh khi nó đợc cho mợn
- Một bản tài liệu không đợc mợn quá 30 ngày kể từ ngày mợn (trừ giáo trình)
- Một bản tài liệu chỉ đợc trả lại sau ít nhất là một ngày nếu mợn về
- Nếu làm rách tài liệu thì bị phạt
Loại tài liệu
- Nếu làm mất tài liệu thì bị phạt gấp đôi giá tiền ghi trong tài liệu
- Nếu bạn đọc làm mất thẻ thi phải làm lại, bạn đọc phải có thẻ thì mới
m-ợn đợc tài liệu
3.1.4.Các tiến trình nhiệp vụ:
Khoá luận tốt nghiệp (1998-2000) khoa CNTT- ĐHKHTN
Trang 33- Tiến trình mợn tài liệu:
-Yêu cầu là thẻ thư viện
yêu cầu trả tài liệu còn nợ
Đưa tài liệu cho bạn đọc
Nhận yêu cầu từ bạn đọc (nhận phiếu yêu cầu)
viện
Còn nợ tài liệu
kiểm tra khả
năng cho mượn
Tài liệu
được đưa cho bạn đọc
có khả
năng
Không có khả năng
sơ đồ tiến trình nghiệp vụ cho
độc giả mượn tài liệu
Thao tác thực hiện
Kiểm tra điều kiện Đường đi của tiến trình
Trang 34- Tiến trình bổ sung quản lý tài
Đặt tài liệu cho nhà xuất bản
Tài liệu
được lưu vào
các kho
Chấp nhận Không
chấp nhận
Lập danh mục tài liệu và đăng ký xét duyệt
Có tài
liệu mới
Nhận các danh mục tài liệu mới từ nhà cung cấp
Nhận tài liệu từ nhà xuất bản
Đăng ký tổng quát
Phân kho
Phân loại và lên biên mục Tạo số đăng ký cá biệt
Ghi ký hiệu vào tài liệu(Dán mã
số và đóng dấu)
Tạo và lập danh sách các danh mục tài liệu (tạo phiếu tra, thống
Chuyển tài liệu
đến các kho
Sắp xết tài liệu vào các kho
Xét duyệt các nguồn tài liệu tài trợ
Không chấp nhận
chấp nhận
Khoá luận tốt nghiệp (1998-2000) khoa CNTT- ĐHKHTN
34
Trang 353.1.5.Xác định các chức năng của hệ thống
• Hệ thống đợc xây dựng cần phải đảm bảo hỗ trợ tối đa cho ngời sử dụng, qua quá trình khảo sát thực tế tại Th Viện Đại Học Quốc Gia Hà Nội và phân tích chức năng nghiệp vụ ở trên ta thấy các chức năng của hệ thống đáp ứng đợc các yêu cầu sau:
- Cập nhật và lu giữ các thông tin về tài liệu
- Đảm bảo tính an toàn, toàn vẹn cho CSDL
- Tổ chức phân loại, sắp xếp, lu trữ sách một cách hợp lý, khoa học để tiện cho việc khai thác và, tra cứu, thống kê khi cần thiết
- Quản lý đợc quá trình mợn tài liệu của độc giả
- Quản lý hệ thống các đối tợng phân quyền sử dụng chơng trình và khai thác tài liệu
- Phải có khả năng đáp ứng mỗi khi có đối tợng cần thêm, bớt, hoặc thay đổi dữ liệu về sách hoặc danh sách ngời sử dụng
• Để thực hiện đợc các yêu cầu nêu ra ở trên thì hệ thống phải có các chức năng sau:
- Cập nhật: Đa vào CSDL các dữ liệu về: sách, bạn đọc (bạn đọc và thẻ), chi tiết mợn trả, nhà xuất bản, vị trí để sách Mỗi một chức năng cập nhật phải đảm bảo
đợc các tính năng: thêm, sửa, xoá.
- Tra cứu: tra cứu theo các trờng: tên tài liệu, tác giả, nhà xuất bản, thể loại, chủ đề
- Quản lý mợn trả
- Thống kê: Các chức năng thống kê phục vụ cho các báo cáo hoạt động của
Th Viện, hỗ trợ ra quyết định cho ngời quản lý Th Viện
- Quản trị hệ thống
Trang 363.2.Mô hình và mối quan hệ giữa các thực thể.
Việc chọn mô hình dữ liệu cho hệ thống thực sự ảnh hởng trực tiếp và quan trọng tới các bớc xây dựng và triển khai hệ thống sau này Mô hình quan hệ đợc chọn cho hệ thống quản lý Th viện vì những u điểm sau: Đơn giản, hiệu quả, tính
độc lập rất cao giữa các đối tợng, đợc nhiều phần mềm về cơ sở dữ liệu hỗ trợ, thuận tiện cho việc khai thác dữ liệu và đáp ứng đợc yêu cầu truy xuất thông tin trên Web
3.2.1 Xác định các thực thể.
Các thực thể đợc xác định là một một đối tợng có thật mang thông tin cần thiết cho hệ thống Tên của thực thể phải thể hiện kiểu hay lớp của các đối tợng Một thực thể phải có ít nhất hai thuộc tính trong đó có một thuộc tính làm khoá Thuộc tính phục vụ cho việc đánh giá chất lợng, xác định, phân loại, đánh giá số l-ợng hay biểu diễn trạng thái của thực thể
Qua việc phân tích các thông tin của hệ thống, ta thấy hệ thống gồm những thực thể sau:
♦ Thực thể Sách: Là nguồn tài liệu chính mà Th viện sử dụng để phục vụ bạn đọc,
ta thấy thực thực thể này có các thuộc tính:
Trang 37Trong đó thuộc tính mã luận văn đợc chọn làm định danh
♦ Thực thể Tạp chí: Đây là nguồn t liệu cung cấp cho Th viện dùng để làm tài liệu tham khảo, giải trí Các thuộc tính cần lu trữ để quản lý đối với thực thể này là: