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 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
72 trang |
Chia sẻ: huyen82 | Lượt xem: 1340 | Lượt tải: 0
Tóm tắt tài liệu 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 tại đại học Quốc gia Hà Nội - Tạo web bằng ASP-Active Server Page, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
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.
Mục lục
Giớ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 lưu 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à chưa 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 để lưu trữ các thông tin về tư liệu chưa 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ý.
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ượ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 nhưng 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.
Phầ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 lưu 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 lưu 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.
Để lưu trữ dữ liệu người ta có thể lưu trữ dữ liệu theo ba mô hình:
Mô hình mạng
Mô hình phân cấp
Mô 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 được nhanh và không tốn không gian lưu trữ. CSDL được xây dựng dựa trê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 lưu trữ trong máy tính, được nhièu người sử dụng và việc thực hiện nó được chi 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ác một cách hợp lý một CSDL, nói cách khác phần mềm này cho phép mô tả, lưu giữ, thao tác xử lý các tập hợp dữ liệu tạo nên CSDL, đồng thời nó bảo đmr sự an toàn và bí mật của các dữ liệu trong mô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 trưng cho một đối tượng cụ thể hay một khái niệm trừu tượng nhưng 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ệ Mượn
Bạn đọc
Tài liệu
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:
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ạng là 1-1 hoặc 1- m hoặc n- 1 thì ta không cần chuẩn hoá còn trường hợp có Mối quan hệ giữa hai thực thể là n- m thì ta phai chuẩn hoá. Bằng cách tạo thêm một thực thể mới có các thuộc tính là các khoá 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ông qua quan hệ mượn có thuộc tính Thời gian
Bạn đọc
#Số thẻ
Tài liệu
# Mã tài liệu
Mượn
Thời gian
Khi đó cần chuẩn hoá thành:
Bạn đọc
#Số thẻ
Mượn/trả
# Mã tài liệu
# Số thẻ
# thời gian
Tài liệu
# Mã tài liệu
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ộ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ô 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ộ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
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ặc không biết trước được mà không có tính chất đặc trưng 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 -> sao 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:
a1
a2
...
an
H1
h1(a1)
H2(a2)
...
h1(an)
H2
h2(a1)
H2(a2)
...
h2(an)
...
...
...
...
...
hm
hm(a1)
hm(a2)
...
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 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 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á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 trong đó R là một tập các thuộc tính, F là tập các phụ thuộc hàm trên R.
1.2.5 Khoá:
Giả sử r là một quan hệ trên R và KÍ R. Khi đó K là một khoá của r nếu K -> R.
Gọi K là một khoá tối thiểu của r nếu:
K là một khoá của r.
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 quan 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:
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 khi cà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ễ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 bỏ được các dị thường dữ liệu, giảm dung lượng lưu 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:
Định nghĩa về thuộc tính cơ bản, thuộc tính thứ cấp:
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.
Đị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 nhưng 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.
Định nghĩa về phụ thuộc hàm bắc cầu:
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, nhưng 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 chưa được chuẩn hoá.
Quan 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:
- 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
Ví dụ:
Xét quan hệ BANDOC (Số thẻ, Họ tên, Chức vụ, Mức ưu tiên, Số lượng được mượn, Số ngày được mượn)
Dễ thấy {Số thẻ, Mức ưu tiên} là khoá chính của quan hệ BANDOC. Quan hệ này có dư thừa dữ liệu khi khi thêm hoặc bớt bộ. Ngoài ra các thuộc tính thứ cấp (Số lượng được mượn, Số ngày được mượ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ệ:
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ào khoá 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 nhưng trong thực tế người ta chỉ áp dụng việc chuẩn hoá quan hệ về dạng chuẩ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ẩn mộ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ể 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 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à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ỏ nhưng 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ệ chưa ở 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 chưa, nếu chưa 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:
1NF
2NF
3NF
1.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ành nhiều quan hệ khi tiến hành chuẩn hoá. Nhưng để cập nhật truy xuấ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ên kết móc xích; trong đó liên kết 1 - 1 là liên kết cơ bản còn hai liê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 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ụ.
Chươ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),...
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ợ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 văn bản).
Thuật ngữ “Siêu văn bản” được đưa ra lần đầu tiên vào năm 1965, trong bài viết Computer Dream, Ted Nelson. Tuy nhiên mãi nă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úp cho các đồng nghiệp của mình làm việc tại viện nghiên cứu Vật lý hạt nhân châu Âu(CERN)-Thuỵ Sỹ thuận lợi hơn trong công tác tra 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 đầ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 nhưng 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.
+ 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 như sau:
Protocol://host.domain/directory/file.name
+ 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 đến mộ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ưới một tên ảo có cấp ngang bằng với cấp của thư mục ảo tham chiếu tới thư 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 nhưng 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 có 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
+ 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 trưng 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à Java Script.
2.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 áp dụng các ngôn ngữ script để tạo ra những ứng dụng có thể nhanh chóng tương tác với cơ sở dữ liệu, có tính bảo mật cao. Các đoạn chương trình nhỏ được gọi là script sẽ được nhúng vào trong các trang của ASP để phục vụ cho việc đóng, mở, thao tác với dữ liệu cũng như điều khiển việc các trang Web tương tác với người dùng như thế 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 ASP có 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
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 Server-side script được khai báo theo cú pháp như sau:
hoặc
Các lệnh script được thực hiện trên Server
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
Tó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 lưu 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.
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ượn._.
Các file đính kèm theo tài liệu này:
- 29800.doc