Lờ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 GiaHà Nội, những ngời đã truyền cho em kiến thứctrong thời gian học tập.
Em xin chân thành cảm ơn PGS.TS Vũ ĐứcThi đã tận tình chỉ bảo em trong suốt quá trìnhlàm khoá luận tốt nghiệp, đồng thời em cũng xincảm ơn tới anh Lê Mai Anh và các anh trong côngty 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 để emnhanh 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è đã choem những ý kiến góp ý chân thành để có đợcbà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.3.2 Các đối tợng của ASP 21
2.4.Lập trình ADO (ActiveX Data Objects Programming) 25
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
Trang 34.2.Biểu đồ luồng dữ liệu 47
4.2.1 Biểu đồ luồng dữ liệu mức khung cảnh: 48
4.2.2 Biểu đồ luồng dữ liệu mức đỉnh: 49
4.2.3 Biểu đồ luồng dữ liệu mức dới đỉnh 50
4.5.2 Các module xử lý thao tác của ngời dùng: 56
4.5.3 Các module xử lý thao tác của ngời quản lý: 57
Chơng 5 Bảo mật và an toàn cho hệ thống 60
Trang 4Giới thiệu
Trong những năm ngần đây, ngành công nghệ thông tinphát triển một cách nhanh chóng ở Việt nam nhiều hoạt độngkinh tế xã hội đợc tin học hoá, góp phần thúc đẩy sự phát triểncủ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ệuquả quản lý, giảm bớt sức lao động của con ngời, tiết kiệm đợcthời gian và tiện lợi hơn rất nhiều so với việc quản lý thủ công Tinhọ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 tintheo 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ệtNam còn tiến triển chậm và cha khai thác hết thế mạnh của máytí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ácthô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ềuhì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ảntheo 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à đảmbả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úpta tìm đến nó một cách nhanh nhất Ngời đọc cũng cần đợc Thviện quản lý thông qua thẻ đọc với một số thông tin cần thiết về
Trang 5bản thân, về sách mà ngời đó đã mợn tại Th viện Ngoài ra, quaviệ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ớicá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âydự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ý.
Vì 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ợngcó liên quan đến sự hoạt động của Th viện đều đợc đa vào máytính quản lý, giúp cho công tác quản lý của Th viện trở nên đơngiả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ựcnhấ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ìnhquả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 (ActiveServer Page) thông qua cách thức truy nhập dữ liệu ADO (ActiveData Object)
Trang 6Phần B : Bài toán quản lý thông tin Th viện Đại HọcQuốc Gia Hà Nội Nêu lên bài toán, cách thức để giải quyết bàitoá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 ĐạiHọ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 7Phầ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 đếnviệ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ệutrong 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ânthủ 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:
Mô hình mạngMô hình phân cấpMô hình quan hệ
Trong lập trình quản lý mô hình quan hệ thờng đợc sửdụng hơn cả nó cho phép tạo mối quan hệ giữa các thực thểthông qua các khoá liên kết giúp cho việc truy xuất thông tin đợcnhanh và không tốn không gian lu trữ CSDL đợc xây dựng dựatrên mô hình quan hệ đợc gọi là CSDL quan hệ.
1.1.Các khái niệm về cơ sở dữ liệu(CSDL):
Cơ sở dữ liêu:
CSDL là một tập hợp dữ liệu của một tổ chức, đợc lu trữtrong máy tính, đợc nhièu ngời sử dụng và việc thực hiện nó đợcchi phối băng một mô hình dữ liệu.
Hệ quản trị CSDL:
Một hệ quản trị CSDL là một phần mềm cho phép khai thácmột cách hợp lý một CSDL, nói cách khác phần mềm này cho phépmô tả, lu giữ, thao tác xử lý các tập hợp dữ liệu tạo nên CSDL,
Trang 8đồng thời nó bảo đmr sự an toàn và bí mật của các dữ liệu trongmôi trờng có nhiều ngời sử dụng.
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):
Chỉ 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ệ
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ốivới nhau bằng :
Nếu hai thực thể tham gai vào quan hệ thì có thể có cácloại quan hệ sau:
- Quan hệ 1- 1: ký hiệu - Quan hệ 1-m ký hiệu- Quan hệ n-1 ký hiệu- Quan hệ n - m ký hiệu
Nếu trong một CSDL mối quan hệ giữa các thực thể có dạnglà 1-1 hoặc 1- m hoặc n- 1 thì ta không cần chuẩn hoá còn trờnghợp có Mối quan hệ giữa hai thực thể là n- m thì ta phai chuẩn
Bạn đọc
Tài liệuM
ợn
Trang 9hoá Bằng cách tạo thêm một thực thể mới có các thuộc tính là cáckhoá chính của hai thực thể đó.
Ví dụ : Mối quan hệ giữa Bạn đọc và Tài liệu là n - m thôngqua quan hệ mợn có thuộc tính Thời gian
Khi đó cần chuẩn hoá thành:
1.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ộtphầ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ộctính, Miền giá trị}.
Bạn đọc
#Số
# Mã tài liệu
# Số thẻ
# thời gian
Tài liệu
# Mã tài liệuBạn
#Số thẻ
Tài liệu
# Mã tài liệuM
ợn
Thời gian
Trang 101.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áitên, tên này đợc gọi là tên thuộc tính Tên thuộc tính là duy nhấtcho 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ô hớ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.
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ộctính:
-Nếu số phần tử của miền giá trị là ít thì liệt kê tất cả cácgiá 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ậphợp
Ví 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ặckhô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ànhphần
Ví dụ: {Toạ độ màn hình, [0 24]x[0 79]}
Trang 111.2.2 Quan hệ:
Cho R={a1,a2, ,an} là một tập hữu hạn và không rỗng cácthuộ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ênR là các bộ {h1,h2, ,hm} với mỗi hj (j=1,2, , m) là một hàm:
1(a1) a2) H2( h1(an)H
2(a1) a2) H2( h2(an).
m(a1) a2) hm( ) hm(an
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 quantrong hết sức lớn đối với việc thiét kế CSDL quan hệ Năm 1970khái niệm này đợc E.F Codd đề cập nhằ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átthông tin.
Có hai loại phụ thuộc hàm:
Trang 12- 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ácthuộ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 Atrong r (ký pháp A -> B) nếu và chỉ nếu:
(hi,hj r)( aA)(hi(a)=hj(a)) (bB)(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ácthuộc tính, một phụ thuộc hàm trên tập các thuộc tính R là mộtdã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ộttập các thuộc tính, F là tập các phụ thuộc hàm trên R.
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ấtlà 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ộchàm trên quan hệ ta có thể chứng minh rằng khoá đợc dùng làm
Trang 13cơ sở để phân biệt hai bộ tuỳ ý trong một quan hệ Trong thựctế 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ệnmộ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 ítnhất có các khoá sau:
K= {Số thẻ}
K= {Số thẻ, Họ và tên}
K= {Số thẻ, Họ và tên, Tên cơ quan chủ quản}K= {SCMT}
K= {SCMT,Họ và tên}
K= {SCMT, Họ và tên, Tên cơ quan chủ quản}
Dễ thấy {Số thẻ} và {SCMT} là các khoá tối thiểu Nên khicài đặt ta có thể chọn Số thẻ làm cơ sở để nhận diện các bộ và{Số thẻ} đợc gọi là khoá chính.
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ễnlogic giữa các phụ thuộc hàm đòi hỏi phải có các quy tắc suydiễn logic, muốn vậy phải xây dựng hệ tiên đề cho phụ thuộchàm.
Cho R là một tập hữu hạn không rỗng các thuộc tính, ký phápP(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ì AB -> B CTiên đề 3: (Bắc cầu): A -> B và B -> C thì A -> C
Trang 14Hệ tiên đề trên do W.W Armstrong phát biểu đầu tiên năm1974 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ị CSDLtrê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 bỏ đợccác dị thờng dữ liệu, giảm dung lợng lu trữ và tăng tốc độ của cácthao 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 địnhnghĩa về các dạng chuẩn của của quan hệ và các thuật toán đaquan hệ về các dạng chuẩn
1.3.1 Các định nghĩa về dạng chuẩn trong quanhệ
Để đơn giản trong việc đa ra các định nghĩa về các dạngchuẩn của quan hệ ta đa ra ba định nghĩa sau:
Định nghĩa về thuộc tính cơ bản, thuộc tính thứ
Giả sử r là một quan hệ trên tập thuộc tính R, gọi Kr là tậpcá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ộtphần tử của K Nếu a không thoả mãn tính chất trên thì a đợc gọilà thuộc tính thứ cấp của r.
Định nghĩa về phụ thuộc hàm đầy đủ:
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ậpcon thực sự nào của A.
Định nghĩa về phụ thuộc hàm bắc cầu:
Trang 15Giả 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ồntại B P(R)
Sao cho : A -> B, B -> C, nhng B không xác định hàm A vớiC 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 Bkhô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ỗitài liệu đợc thể hiện thông qua (Tên tài liệu, số lợng, Tên tácgiả,Tập số, Tên Nhà xuất bản, Lần xuất bản), quan hệ này cha đợcchuẩn hoá.
Quan hệ (Số thẻ, Tên tài liệu, số lợng, Tên tác giả,Tập số, TênNhà 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:- Nó đã ở dạng chuẩn một
- Mọi thuộc tính thứ cấp phụ thuộc hàm đầy đủ vào khoáchính
Trang 16Ngoài ra các thuộc tính thứ cấp (Số lợng đợc mợn, Số ngày đợc ợn) phụ thuộc hàm vào Mức u tiên là một tập con thực sự của khoáchính Vì vậy ta tách quan hệ trên thành hai quan hệ:
m-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:
- Nó đã ở dạng chuẩn hai
- Mọi thuộc tính thứ cấp không phụ thuộc hàm bắc cầu vàokhoá chính Nói cách khác, tất cả các phụ thuộc hàm giữa khoáchính và các thuộc tính khác của nó đều trực tiếp.
Ngoài ba chuẩn trên còn có các chuẩn 4NF, 5NF nhng trongthực tế ngời ta chỉ áp dụng việc chuẩn hoá quan hệ về dạngchuẩn ba là chủ yế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ẩnmột theo các trờng hợp sau:
- Mọi giá trị xuất hiện trong một thuộc tính có thể chiathà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 thà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ànhcá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ể chianhỏ 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 Visualbasic, Tạp chí PC World, ) Nên trong trờng hợp này mỗi bộ trong
Trang 17quan hệ sẽ phải chia thành một số bộ đúng bằng số loại tài liệumà 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ớitập R tất cả các thuộc tính Tiếp đến vấn đề dặt ra là : Tậpthuộc tính nào là khoá chính của quan hệ (khoá chính của quanhệ 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ồntại một tập thuộc tính Y chỉ phụ thuộc hàm vào mộy bộ phận củakhoá chính là K’ K Khi ấy ta thực hiện phân rã quan hệ bằngcách đa các thuộc tính {K’,Y} sang một quan hệ và các thuọctính R - Y sang một quan hệ khác Rõ ràng, K là khoá chính củaquan hệ chứa các thuộc tính {R- Y}, còn K’ là khoá chính củaquan 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ạngchuẩn ba ta giả thiết nó đã ở dạng chuẩn hai và phải thực hiện cácbớ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ạngK -> X, X -> Y.
- Nếu tìm thấy phụ thuộc hàm bắc cầu nh vậy ta sẽ phânrã 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ạngchuẩ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:
1
Trang 181.3.3 Liên kết các quan hệ :
Xét một hệ thống thông tin, do quá trình thiết kế CSDL,chẳng hạn từ một quan hệ ban đầu ta có thể phân rã thànhnhiều quan hệ khi tiến hành chuẩn hoá Nhng để cập nhật truyxuất thông tin ta phải liên kết các quan hệ có liên quan đến nhau.Thờng có ba loại liên kết: Liên kết 1 - 1, Liên kết 1 - n, Liênkết móc xích; trong đó liên kết 1 - 1 là liên kết cơ bản còn hailiên kết còn lại thực chất là tổ hợp các liên kết 1 - 1.
Để có thể liên kết đợc hai quan hệ với nhau, đối với mỗi quanhệ ta phải xác định đợc khoá liên kết Khoá liên kết là tổ hợpthuộc tính của mỗi quan hệ, mà nhờ có tổ hợp này ta có thể liênkế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ó ítnhất một bộ giá trị bằng nhau thì hai bộ này đặt tơng ứng vớinhau.
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 19Chơ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ìnhClient/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ànhnh một dịch vụ trên toàn mạng Các chơng trình Server này chấpnhậ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ínhchứa chơng trình Server đợc gọi là một máy chủ hay máy phục vụ
Một chơng trình đợc coi là Client khi nó gửi các yêu cầu tớimá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êntác IPC (InterProcess Communication) theo một chuẩn nóichuyệ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ànhmột Client Ví dụ nh một Database Server có thể yêu cầu mộtPrinter 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ì đếnphần cứng mặc dù trên thực tế yêu cầu về phần cứng của mộtmáy Server là cao hơn rất nhiều so với một máy Client do máyServer phải quản lý rất nhiều các yêu cầu từ các client khác nhautrên mạng.
Trang 202.1.2 Ưu nhợc điểm chính của mô hìnhClient/Server
Trong mô hình Client/Server, dữ liệu và tài nguyên đợc chiasẻ 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àncủ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ìnhClient/Server cung cấp một nền tảng lý tởng cho phép tích hợpcá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),
Mộ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ợpthông tin trên đờng truyền bị lộ.
2.1.3 Mô hình World Wide Web (WebClient/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 văn bản).
Thuật ngữ “Siêu văn bản” đợc đa ra lần đầu tiên vào năm1965, trong bài viết Computer Dream, Ted Nelson Tuy nhiên mãinăm 1980, một kỹ s trẻ ngời Anh tên là Tim Berners-Lee mới cóđiều kiện tin học hoá khái niệm đó Ban đầu với mục tiêu giúpcho các đồng nghiệp của mình làm việc tại viện nghiên cứu Vậtlý hạt nhân châu Âu(CERN)-Thuỵ Sỹ thuận lợi hơn trong công táctra cứu tài liệu, Tim Berners-Lee đa ra một dự án xây dựng hệthống thông tin toàn cầu dựa trên liên kết siêu văn bản Thuật ngữWorld Wide Web đợc dùng để mô tả dự án và công bố lần đầutiên vào tháng 8-1991 trên nhóm tin alt.hypertext Từ đó nhiều
Trang 21nhà sản xuất đã tham gia phát triển Web cho hệ thống củamình(UNIX, WINDOW, .).
Tuy ra đời muộn hơn so với các dịch vụ khác của Internetnhng WWW lại có tốc độ phát triển nh vũ bão và làm cho Internethấ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ắcvề tin học cũng có thể sử dụng đợc Nhờ có liên kết, họ có thể đitừ 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ớigiữa các quốc gia, giúp con ngời có thể tiếp xúc với những thôngtin mới nhất trên toàn thế giới Các khả năng của Internet ngày naychủ yếu dựa vào World Wide Web Mặt khác trình duyệt Webbây giờ không chỉ làm mỗi chức năng là cho xem các t liệu HTMLmà bây giờ nó còn tích hợp cả cả các dịch vụ khác của Internetnh 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ủaWeb 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ênInternet, những điểm chứa cơ sở dữ liệu gọi là Web Site.
+ Web giúp cho ngành dịch vụ, giải trí một phơng tiệntuyệt vời, tạo điều kiện cho việc xuất bản tạp chí sách báo mộtcách nhanh chóng dễ dàng.
+ Web ngày nay hỗ trợ đắc lực cho các công ty trong côngviệc kinh doanh nh quảng cáo tiếp thị, nghiên cứ thị trờng, bánhàng,
Trang 222.2 Những khái niệm cơ bản về World WideWeb.
2.2.1.Địa chỉ trên Web.
Địa chỉ của Web đợc biết đến nhờ các URL (UniformResource Locatoion - Bộ định vị tài nguyên thống nhất) Nếu cáctrang 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 nhsau:
+ Protocol: Nghi thức TCP/IP sử dụng để tìm tài nguyên(HTTP hay FTP)
+ Host.domain: Tên máy chủ nơi trang Web đó tồn tại
+ Directory: Tên th mục ảo chứa trang Web Th mục ảo ởđây đợc định nghĩa sẵn trên Web server nó tham chiếu đếnmột th mục vật lý nằm trên máy chủ hoặc một máy mạng nào đó.Có thể một th mục con trong cây th mục lớn đợc tham chiếu dớimột tên ảo có cấp ngang bằng với cấp của th mục ảo tham chiếu tớith mục gốc của cây th mụ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 quaURL có thể truy cập tới bất cứ một tài nguyên thông tin dữ liệu củabấ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 đợckhởi động, nó đợc nạp vào bộ nhớ và đợi các yêu cầu từ nơi khác
Trang 23gửi đến Quá trình này gọi là Listen và quá trình này cũng phảiphâ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ủangời dùng hoặc cũng có thể đợc gửi đến từ một Web Browserkhác và ta gọi chung các đối tợng gửi yêu cầu đến là các kháchhàng (Client) Các yêu cầu đối với Web Server thờng là về một tliệu hoặc thông tin nào đó Sau khi nhận đợc yêu cầu nó phântích xem thông tin hay t liệu khách hàng muốn là gì, trong trờnghợ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 theogiao 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ôngtin 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ệtWeb(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áychủ, 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+ Mosaic
+ Netscape Navigator+ Internet Explorer
Hầu hết các Web Browser đều hỗ trợ mặc định một sốkiểu tệp đặc trng cho Internet nh: HTML, CGI, GIF, BMP, JPG Nhiều Web Browser thế hệ mới còn cho phép mở rộng khả năng t-ơng tác của các trang Web bằng cách hỗ trợ thêm Java và JavaScript.
Trang 242.3 Môi trờng Active Server Page.
2.3.1 Giới thiệu.
Microsoft Active Server Page là một môi trờng giúp ta ápdụng các ngôn ngữ script để tạo ra những ứng dụng có thể nhanhchóng tơng tác với cơ sở dữ liệu, có tính bảo mật cao Các đoạnchơng trình nhỏ đợc gọi là script sẽ đợc nhúng vào trong cáctrang của ASP để phục vụ cho việc đóng, mở, thao tác với dữ liệucũng nh điều khiển việc các trang Web tơng tác với ngời dùng nhthế nào Các ứng dụng xây dựng bằng ASP là các file có phần mở
rộng ASP Trong một File ASP có thể trộn lẫn các đ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 ASPcó 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ệnhsau
<% LANGUAGE=Tên_ngôn_ngữ_Script %>
Các script này đợc chạy ngay trên Web Server mà không cầnbiê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 đợcnhững đoạn chơng trình đợc viết bằng ngôn ngữ script thì phảicó máy Script (Engine) Máy script làm nhiệm vụ đọc tệp nguồncủa chơng trình, dịch và thực hiện các câu lệnh trong đó Mỗingô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ó VBScriptEngine, 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:
Trang 25Là 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 Browsercủa ngời dùng Các Server-side script đợc khai báo theo cú pháp nhsau:
<% Những lệnh nằm trong này đợc thực hiện trên Server%>
<SCRIPT Language=” Tên_Ngôn_ngữ_Script ”>
Trang 26 Bớc 3: Sau khi thực hiện kết quả đó sẽ đợc trả về choWeb 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 tintừ 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ảnASP đợc định nghĩa là gồm tất cả các tệp ASP ở trong một thmụ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
Các đối tợng con:
* Contents: Chứa tất cả các đối tợng đợc thêm vào
Application 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 Script.
Các phơng thức (Methods)
LOCK: Không cho các ngời dùng khác thay đổi thuộc tính các
đối tợng của Application
UNLOCK: Huỷ bỏ LOCK
Các sự kiện (Events)
Application_OnStart : Xảy ra khi một yêu cầu tới một tệp đầu
tiên trong hệ thống ứng dụng
Application_OnEnd : Xảy ra khi hệ thống ứng dụng kết thúc
Trang 272.3.2.2 Session:
Đối tợng Session đợc dùng để lu thông tin riêng rẽ củatừng phiên làm việc Các thông tin lu giữ trong Session không bịmất đi khi ngời dùng chuyển từ trang Web này sang trang Webkhác Các thông tin đợc lu trong Session thờng là các thông tin vềngời dùng hoặc các điều kiện chẳng hạn nh ngời dùng khôngmuốn nghe các tệp tin nhạc ở một số các trang thì phải có mộtbiến để lu giữ lại thông tin này Đối tợng Session đợc Web Servertự động tạo nếu nh các trang Web của ứng dụng đợc đòi hỏi bởimột ngời dùng mà cha có SessionID SessionID là một mã mà WebServer sẽ gửi về cho Web Browser ở máy ngời dùng và mã này dùngcho Web Server nhận biết là yêu cầu đợc gửi từ Session nào đến.
Cá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ôngtin 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 WebBrowser Mọi thông tin và các biến sử dung chung trong mộtSession tốt nhất là đợc khởi tạo tại đây và mọi thành phần kháccủ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
Trang 282.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:
4 ServerVariables: Chứa các thông tin về các biến môi ờng đã đợc định nghĩa 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àychỉ xoá phần thân của Response chứ không xoá phần Header củaResponse.
End: Kết thúc việc xử lý ở tệp ASP và gửi về Web Browsernhững kết quả thu đợc cho đến lúc xảy ra phơng thức này.
Trang 29Flush: 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ứckhắ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
Redirect: Phơng thc này dùng để định hớng địa chỉ củatrang Web trên Web Browser trỏ đến một URL khác.
Write: Đây là phơng thức hay dùng nhất để trả về choWeb Browser những xâu ký tự mà đại điện cho cấu trúc HTML
<% 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 ứngvới địa chỉ th mục ảo trên máy chủ Ví dụ:
Trang 30Các phơng thức (Methods):
Set Complete: Phơng thức này khai báo rằng đoạnscript trong ASP không phụ thuộc vào việc có thực hiện thànhcông hay không Transaction Nếu mọi thành phần trongTransaction mà đều gọi phơng thức này thì Transaction sẽ đợchoàn thành.
Set Abort: Phơng thức này khai báo rằng Transactionkhởi tạo bằng script đã không hoàn thành.
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 để địnhvị, tơng tác với cơ sở dữ liệu Việc kết nối với ODBC thông qua cácDriver 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:
Parameters
Trang 312.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ộtbiến Connection sau đó sử dụng phơng thức Open của đối tợngnày.
<%
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ạora trớc đó.
Đối tợng Connection cung cấp phơng thức Execute để thựchiện một truy vấn trên dữ liệu đã đợc tạo kết nối
2.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ựchiệ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ềmdẻ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ệntruy 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ứukế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:
Trang 32ActiveConnection: 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ếtnối bằng đối tợng Connection ta có thể taọ ra nhiều đối tợngRecordset 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 ghimong 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ênMoveLast di chuyển con trỏ tới bản ghi cuối cùngMovePrevious di chuyển con trỏ tới bản ghi đầu tiênMoveNext 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:
+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ộctính này thờng đợc dùng dể kiểm tra xem đã duyệt hết các bảnghi trong Rcordset.
Trang 33+Thuộc tính BOF: Kiểm tra con trỏ đã ở vị trí đầu tiên củaRecordset cha.
+ Thuộc tính RecordCount: Cho biết tổng số bản ghi hiệntại.
+ Thuộc tính Filter: Đặt lọc cho Recordset có dạng nhsau:
* 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ơngthức này đợc sử dụng nh sau:
Trang 34Biế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 Biến_Recordset.Field(i).value để lấy giá trị trtr-ờng
thứ i của bản ghi hiện tại Việc đánh số các trờng đợc bắt đầu từ
0 đến tổng số các trờng trừ 1 là Biến_Recordset.Field.Count-1.
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êndịch truy vấn trên cơ sở dữ liệu Sau đó có thể dùng lại truy vấnvới một bộ giá trị mới Chính việc biên dịch các truy vấn theo cáchnà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ệucó thể sinh nhiều lỗi, nên ADO định nghĩa tập hợp các đối tợngError hơn là một đối tợng Error đơn Với cùng một thao tác thì mỗilỗi xảy ra khi thực hiện thao tác sẽ đợc gắn với một đối tợngError.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ó.
Trang 35Phần B : Bài toán “Xây dựng hệ thống thông tinTh 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ọcTự Nhiên, Đại Học Khoa Học Xã Hội & Nhân Văn, Đại Học S PhạmNgoạ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àiliệu nhng phần nay cha cho phép hỗ trợ việc hộ trợ cho các nhânviên trong việc cho mợn và thu hồi lại tài liệu, vã lại phần mềm chophép tra cứu nhng cha chỉ ra là tài liệu đó hiện có còn trong Thviện không?, nên nhiều khi bạn đọc mất rất nhiều công sức trongviệc mợn tài liệu Phần mềm mà Th viện hiện đang sử dụng, dùngtrên máy PC cho nên mỗi khi cập nhật dữ liệu mới thì phải mangdữ 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ảnlý thông tin Th viện Đại Học Quốc Gia Hà Nội cho phép việc quảnlý lu trữ thông tin tập trung và phản ánh đợc tính thời sự của tliệ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àitoán này em chọn giải pháp là xây dựng hệ thống theo mô hìnhWorld Wide Web bằng cách sử dụng công nghệ tạo web trên ASPthông qua cách thức truy cập dữ liệu ADO với hệ quản trị dữ liệulà Access.
Trang 36Chơ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ốcGia 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 Thviệ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ọcQuốc Gia).
Mọi hoạt động của Th viện bao gồm các công việc nhằmphụ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ệucủ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ềuBạn đọc đến tham gia vào đọc, mợn tài liệu tại Th viện nên cầnnhiều nhân viên phục vụ tài Th viện do đó nhân viên cần đợcquản lý và phân công công việc một cách hợp lý để hoạt độngcủa Th viên mang hiệu quả cao Trong khuôn khổ bài khoá luậntốt nghiệp, em không đa việc quản lý nhân viên vào hệ thốngmà chỉ coi nhân viên nh là ngời sử dụng và có quyền cao hơnBạn đọc
Trang 373.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ốngkê 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àiliệ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ề Thviện thực hiện chức năng Biên mục tài liệu, bằng cáchphâ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 choviệ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ểntà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 choBạn đọc thì sau một khoảng thời gian nhất định Th việnphải thu hồi lại tài liệu để chuyển tạ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ụnghơ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ệutrong 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 độngcủ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ạnhoặc làm mất tài liệu để có biện xử lý thu hồi, bồi thờnglại tài liệu.
Trang 383.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àmthẻ 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átcho và họ hởng các quyền lợi về đọc, mợn tài liệu tại Thviện.
Chức năng tra cứu tài liệu: Do Th viện có rất nhiều tài liệunên để thuận tiện mợn và cho mợn Bạn đọc phải biếtchính xác về các thông tin liên quan đến tài liệu (nh têntài liệu, tác giả, nhà xuất bản ) và tài liệu đó hiện Thviệ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àiliệu thì Bạn đọc muốn đạt đợc nhu cầu đó bằng cáchphản ánh nhu cầu đó qua yêu cầu mợn tài liệu và thựchiệ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 đó
Ví dụ: AV-D5/300: là tài liệuNgôn ngữ : Tiéng Anh
Trang 39Cì tµi liÖu TiÒn ph¹t
Trong íc
Trang 40- TiÕn tr×nh mîn tµi liÖu: