Tải bản đầy đủ (.doc) (56 trang)

Xây dựng và quản lý ngân hàng đề thi trắc nghiệm trên Web trên mạng theo công nghệ JSP

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (811.83 KB, 56 trang )

Lời nói đầu

Trong thời đại ngày nay, thời đại của CNH- HĐH đất nước, với sự bùng nổ
của CNTT, hàng loạt các phần mềm ứng dụng cũng như các phần mềm tiện ích
ra đời đồng nghĩa với sự gia tăng về số lượng của các kỹ sư, các chuyên viên
lập trình. giờ đây cùng với sự gia tăng chóng mặt số lượng người dùng truy cập
vào Internet, hệ thống mạng Internet đã trở thành một phần không thể thiếu của
thời đại bởi nó là một thư viện khổng lồ và hữu ích nhất. Việc truy cập Internet
thường xuyên đã trở thành thói quen của thế hệ trẻ. Khai thác thế mạnh của
Internet, các kĩ sư các chuyên viên lập trình đã tung ra các ứng dụng của mình
dưới dạng các trang Web, điều đó đã đáp ứng được nhu cầu khao khát thông tin
của người truy cập Internet. Các Website trên Internet rất phong phú về nội
dung, thông tin được truy cập thường xuyên và nhanh chóng. Giới trẻ ngày nay
lên Web ngày càng nhiều và đa số lên mạng chỉ để tán gẫu, nghe nhạc… còn
một số ít lên mạng để học tập. Nhưng các trang Web phục vụ cho học tập thì rất
ít và chưa được chú trọng khai thác trong khi đó giờ đây nhu cầu kiểm tra kiến
thức và củng cố kiến thức ngày càng cao và là nhu cầu cấp thiết. Nhận thấy rõ
điều đó và do xuất phát từ chính nhu cầu của bản thân, chúng em những sinh
viên khoa Công nghệ thông tin đã mạnh dạn đảm nhận đề tài “Xây dựng và
quản lý ngân hàng đề thi trắc nghiệm trên Web trên mạng theo công nghệ
JSP” với mong muốn cùng với những kiến thức mà mình đã học có thể tự tạo
cho chính mình cũng như cho các sinh viên khác một sân chơi, một trang Web
có thể phục vụ tốt cho việc học tập của chính mình để làm đề tài tốt nghiệp.
Trong bài báo cáo này chúng em đã trình bày rõ về đề tài của chúng em với các
nội dung chủ yếu sau:
Phần I: Giới thiệu và phân tích đề tài
Phần II: Giới thiệu công cụ
Phần III: Phân tích thiết kế chương trình
1
Chúng em những sinh viên đang còn học trong giảng đường do trình độ
và kinh nghiệm còn hạn chế nên khi đảm nhận đề tài này sẽ không tránh khỏi


những thiếu sót rất mong sự ủng hộ và giúp đỡ của các bạn và thầy cô để
chương trình có thể hoàn thiện hơn, hữu ích hơn.
Chúng em xin cảm ơn các thầy cô giáo đã giúp đỡ, hướng dẫn chúng em
thực hiện và hoàn tất đề tài này. Chúng em xin chân thành cảm ơn!
Sinh viên
2
Phần I : Giới thiệu và phân tích đề tài
I .Nội dung đề tài
Viết chương trình quản lý ngân hàng đề thi trắc nghiệm trên Web theo
công nghệ JSP dựa trên mô hình Client – Server bao gồm các modul sau:
. Soạn câu hỏi trắc nghiệm
. Quản lý ngân hàng đề và soạn đề thi
. Trắc nghiệm và quản lý thông tin của người thi
II .Yêu cầu của đề tài
Dựa vào nội dung của đề tài đặt ra, chúng ta cần xây dựng một chương
trình ứng dụng dựa trên các yêu cầu sau:
•Xây dựng một chương trình theo mô hình Client- Server, toàn bộ dữ liệu
liên quan đến hệ thống được lưu trữ trên Server, việc truy cập và truyền
dữ liệu được thực hiện thông qua mạng nhằm phục vụ cho việc kiểm tra
trắc nghiệm, cập nhật cơ sở dữ liệu.
•Hệ thống ngân hàng đề thi trắc nghiệm quản lý, lưu trữ tất cả các câu
thi, đề thi của giáo viên để kiểm tra trắc nghiệm, đồng thời hệ thống
cũng quản lý, lưu trữ các nhóm người sử dụng và kết quả của sinh viên.
Mỗi đề thi có một mức kiểm tra khác nhau, phù hợp với trình độ của
người sử dụng, nội dung muốn kiểm tra và hình thức ra đề.
•Thông qua trình duyệt Web, người sử dụng hệ thống ngân hang đề thi
trắc nghiệm có thể thực hiện các thao tác phù hợp với các chức năng mà
hệ thống ngân hang đề thi trắc nghiệm cho phép. người sử dụng, tuỳ theo
, mức độ cho phép của hệ thống ngân hang đề thi trắc nghiệm mà có các
quyền thao tác trên hệ thống khác nhau.

•Đối tượng sử dụng hệ thống ngân hang đề thi trắc nghiệm này gồm:
Người quản trị chung, Giáo viên, Sinh viên.
3
III . Giải quyết các yêu cầu của đề tài
Vì chương trình này xây dựng theo mô hình Client-Server, việc truy xuất,
truyền dữ liệu qua mạng thông qua trình duyệt Web. Do đó, chương trình của ta
có lien quan đến các vấn đề sau:
1. Networking
Mạng máy tính là một tập hợp các máy tính được nối với nhau bởi các
đường truyền vật lý theo một kiến trúc nào đó.
Trong thực tế là các máy tính trong mạng có thể chạy các hệ điều hành khác
nhau trên các nền phần cứng khác nhau. Do đó để có thể nói chuyện được với
nhau, các quá trình cần phải dung chung một phương thức giao tiếp (protocol )
nào đó.
Tổ chức ISO (International Standards Organization) đã đưa ra mô hình
tham khảo OSI (Open Systems Interconnection) dung để phân lớp kiến trúc
mạng.
Theo mô hình OSI, thông tin muốn gửi hay nhận qua mạng phải đi qua 7
lớp. Mỗi lớp có một chức năng khác nhau và cung cấp các interface để các lớp
phía trên có thể sử dụng các dịch vụ mà lớp này cung cấp.
4
I.1 Mô hình mạng OSI:

Application layer: chứa các dịch vụ phục vụ cho người dung như truyền
nhận file hay email…
Presentation: chứa các dịch vụ về thao tác dữ liệu như nén, giải nén….
Cấp này không có các dịch vụ thông tin của riêng nó.
Session: chứa các dịch vụ cho phép trao đổi thông tin giữa các quá trình,
tạo và kết thúc kết nối của các quá trình trên các máy chủ khác nhau.
Transport layer: chứa các dịch vụ tìm và sửa lỗi nhằm bảo đảm tính đúng

đắn của dữ liệu nhận.
Network layer: quản lý việc kết nối trong mạng liên quan đến địa chỉ của
máy tính gửi và máy tính nhận cũng như sự tắc nghẽn giao thông của mạng.
Application Layer
Presentation Layer
Session Layer
Transport Layer
Network Layer
Datalink Layer
Physical Layer
Sending
Applicatio
n
Receiver
Applicatio
n
Session Layer
Presentation Layer
Application Layer
Transport Layer
Network Layer
Datalink Layer
Physical Layer
5
Datalink layer: bảo đảm các gói dữ liệu được gửi thông tin qua mạng vật
lý.
Physical layer: phục vụ cho việc gửi các dữ liệu là các bit thô thông qua
kênh truyền.
Do đặc tính của mô hình OSI, dữ liệu gửi đi phải qua tất cả 14 cấp để
đến được chương trình nhận. Ở mỗi cấp, dữ liệu sẽ bị trễ một khoảng thời gian.

Điều này làm giảm hiệu suất của mạng. Mô hình TCP/IP có ưu điểm hơn và
hiện đang được sử dụng rộng rãi.
1.2. Mô hình mạng TCP/IP
Để đảm bảo việc truy cập, truyền dữ liệu trên mạng là không mất mát, các
gói dữ liệu đến đích phải theo đúng thứ tự đã được gửi và các máy tính chạy
trên mạng Internet truyền thông với nhau dung các protocol TCP, UDP. Do
đó ta sử dụng mô hình mạng TCP/IP gồm 4 lớp được mô tả bằng hình II.1.2

hình II.1.2

6
Application Layer
HTTP,FTP,Telnet,
SMTP
Transport Layer
TCP/IP,UDP
Physical Layer
EthernetX.25, Token Ring
Network Layer
IP
Receiving Data
Sending Data
Application layer: chứa các ứng dụng có sử dụng mạng. Lớp này tương ứng
với hai lớp trên cùng (Application và presentation layer) của mô hình OSI.
Transport layer: cung cấp các dịch vụ truyền nhận dữ liệu giữa các quá
trình với nhau. Các quá trình này có thể trao đổi thông tin với nhau thông qua
địa chỉ của máy tính gửi/ nhận và cổng thông tin. Cấp này tương ứng với cấp
2 cấp kế tiếp (session và transport layer) của mô hình OSI.
Network layer: đảm nhận việc xác định, tìm đường và phân phối các gói
thông tin tới địa chỉ đích. Network layer trong mô hình TCP/ IP tương ứng

với hai lớp network và datalink của mô hình OSI.
Physical layer: sử dụng các giao tiếp chuẩn hiện có như Ethernet,
Tokenring,… để phục vụ cho việc gửi và nhận dữ liệu.
* Các thành phần liên quan đến mạng
•Host: là một mạng máy tính riêng lẻ trên mạng. Mỗi host trên mạng
TCP/IP chỉ có duy nhất một địa chỉ IP (IP number).
•Host name: đó là một tên tượng trưng có thể ánh xạ vào trong IP number.
Một vài phương thức tồn tại biểu diễn cho ánh xạ đó, như là DNS
( Domain Name Service) và Sun’s NIS (Network Information Service).
•IETF: Internet Engineering Task Force là một nhóm chịu trách nhiệm cho
việc duy trì chuẩn Internet và định nghĩa một chuẩn mới.
•Internet: là một mạng của nhiều mạng. Khi viết bằng chữ in hoa
(Internet), nó quy chiếu đến toàn bộ mạng có mối liên hệ với nhau của
nhiều mạng.
•IP number: là địa chỉ duy nhất cho mỗi host trên Internet. Nó được biểu
diễn bằng một số nguyên 32 bit.
•Packet: là một thông điệp riêng lẻ gửi trên mạng. Đôi khi packet quy
chiếu đến datagram, nhưng giới hạn cũ luôn quy chiếu đến dữ liệu ở tại lớp
mạng và sau đó quy chiếu thông điệp đến lớp cao hơn.
•Protocol: tập hợp các định dạng dữ liệu và các thông điệp được sử dụng
để chuyển thông tin. Những thực thể mạng khác nhau phải cùng một
protocol theo trật tự để những thực thể mạng khác có thể hiểu được.
7
•Socket: là một sự truyền thông endpoint. Trong mô hình TCP/IP một
socket thường thì được xác định bởi một cặp trùng khớp duy nhất của địa
chỉ IP nguồn, số port và địa chỉ IP đích, số port.
•Router: một host mà được biết đến đối với các package trả về giữa các
mạng khác nhau như thế nào. Một router có thể trở thành một điều gì đó
đơn giản như là một máy với hai giao diện mạng (mỗi máy trên một mạng
vật lý khác nhau).

•Port number: nằm trong khoảng 0-65535 (vì port được biểu diễn bằng số
nguyên 16bits). Những post nằm trong khoảng 0-1023 là những port dành
riêng cho những dịch vụ quen thuộc như HTTP, FTP và các dịch vụ của hệ
thống, không nên dung những port này trong ứng dụng của chúng ta.
Khi chúng ta viết các chương trình java truyền qua mạng điều này có
nghĩa là chúng ta đang lập trình ở lớp Application. Chúng ta cần quan tâm tới
các protocol TCP và UDP…. Mà chúng ta có thể dung các lớp trong package và
java.net. Các lớp này cung cấp việc truyền thông qua mạng độc lập với hệ
thống. Tuy nhiên chúng ta cần hiểu rõ sự khác biệt giữa TCP và UDP để xác
định rõ những lớp nào trong thư viện java mà chúng ta sử dụng.
Khi muốn hai chương trình truyền dữ liệu cho nhau một cách đáng tin
cậy thì giữa chúng phải thiết lập một connection và gửi dữ liệu qua lại thông qua
connection đó.
TCP là một protocol dựa trên connection cung cấp các dataflow giữa hai
máy tính và đảm bảo rằng data được gửi từ một đầu connection tới đầu kia
không mất mát và đứng thứ tự (nếu có lỗi sẽ được thông báo).
Những ứng dụng yêu cầu một kênh truyền point- to- point đámg tin cậy
đều dùng TCP. HyperText Transfer Protocol (HTTP), File Transfer Protocol
(FTP) và Telnet là những ứng dụng đòi hỏi một kênh truyền đáng tin cậy, thứ tự
gửi và nhận phải đảm bảo là điều kiện buộc phải có đối với ứng dụng này. Khi
dung HTTP để đọc từ một URL (Uniform Resouce Location) dữ liệu cần phải
nhận được theo đúng thứ tự mà nó gửi đi nếu không mọi thứ sẽ bị đảo lộn.
8
• UDP protocol cung cấp việc truyền nhận data không đảm bảo giữa hai
ứng dụng trên mạng. UDP không dựa trên connection như TCP. UDP
gửi những package độc lập với nhau gọi là datagram từ ứng dụng này tới
ứng dụng kia. Việc gửi những datagram giống như việc gửi thư thông
qua bưu điện. Các package đến đích không theo thứ tự, không đảm bảo
và các message độc lập với nhau.
Do đó ta có thể định nghĩa : UDP là một protocol gửi những package độc

lập gọi là các datagram từ máy này tới máy khác, không đảm bảo data đến thành
công. UDP không dựa trên connection như TCP.
Một máy tính nối mạng là mộtconnection vật lý đối với mạng đó. Tất cả
những dữ liệu gửi cho máy tính qua connection đó. Tuy nhiên, dữ liệu có thể
được gửi cho những ứng dụng khác nhau trên máy đó. Do đó làm cách nào để
máy tính biết được ứng dụng nào sẽ nhận dữ liệu được gửi đến? . Điều này được
giải thích quyết thông qua việc sử dụng port, mỗi ứng dụng mạng có một port
tương ứng. Dữ liệu truyền qua mạng có kèm theo thông tin địa chỉ nhằm xác
định máy tính và port đích. Mỗi máy tính được xác định bằng một đỉa chỉ IP
32bits, IP protocol dung địa chỉ này để phân phát dữ liệu đúng cho từng máy.
Port được xác định bằng 1 số 16bits. Các protocol TCP và UDP dung port
number để phân phát dữ liệu tới đúng cho từng ứng dụng.
Trong việc truyền nhận data dựa trên connection, một ứng dụng thiết lập
một connection với một ưúng dụng khác bằng cách gắn một socket cho mỗi port
number. Do đó sẽ không thể có hai ứng dụng dung chung một port.
Thông qua các lớp trong packet java.net của ngôn ngữ java, các chương
trình viết bằng java có thể dung TCP hay UDP để truyền nhận data qua mạng.
Trong package java.net có URL, URL connection, Socket và
ServerSocket dung TCP và các lớp DatagramPackage, DatagramServer dùng
UDP. Việc sử dụng những khả năng mạng do java support khá dễ dàng so với C
và C++. Applet được nhúng trong các file HTML. Để chạy chương trình Applet
qua mạng, trước hết chúng ta cần load các trang HTML này về máy cục bộ. Các
Applet được nhúng trong trang HTML thông qua phần khai báo Applet.
9
Việc load các file ảnh và file Audio được thực hiện thông qua lớp URL
trong packet java.net. URL : Uniform Resouce Location là địa chỉ tài nguyên
nào đó trên mạng. Để load một file ảnh từ mạng, đầu tiên trong chương trình
java cần tạo một URL chứa địa chỉ tới file ảnh đó, sau đó dung một số hàm cần
thiết để connect và truy xuất file ảnh đó.
Điểm nối bật của Networking do java mang lại là tính hữu dụng và để sử

dụng, điều này được thể hiện qua package java.net trong các lớp thư viện của
java.
2. Các mô hình cơ sở dữ liệu
Nhìn chung mọi ứng dụng cơ sở dữ liệu đều bao gồm các phần:
♦ Thành phần xử lý ứng dụng (Application Processing Components)
♦ Thành phần phần mềm cơ sở dữ liệu (Database Software Components)
♦ Bản thân cơ sở dữ liệu (The database itself)
Thông thường có 5 mô hình kiến trúc dựa trên cấu hình phân tán về truy nhập
dữ liệu của hệ thống máy tính Client/Server:
♦ Mô hình cơ sở dữ liệu tập trung (Centralized database model)
♦ Mô hình cơ sở dữ liệu theo kiểu file-server (Client/Server database model)
♦ Mô hình cơ sở dữ liệu phân tán (Distributed database model)
2.1. Mô hình cơ sở dữ liệu tập trung (Centralized database model):
Trong mô hình này các thành phần xử lý ứng dụng, phần mềm cơ sở dữ liệu và
bản than cơ sở dữ liệu đều ở trên cùng một bộ xử lý.
Ví dụ người dung máy tính cá nhân có thể chạy các chương trình ứng dụng có
sử dụng phần mềm cơ sở dữ liệu Oracle để truy nhập tới cơ sở dữ liệu nằm trên
đĩa cứng của máy tính cá nhân đó. Từ khi các thành phần ứng dụng, phần mềm
cơ sở dữ liệu và bản thân cơ sở dữ liệu cùng nằm trên một máy tính thì ứng dụng
đã thích hợp với mô hình tập trung.
Hầu hết các công việc xử lý luồng thông tin chính được thực hiện bởi nhiều tổ
chức mà vẫn phù hợp với mô hình tập trung. Ví dụ một bộ xử lý mainframe
10
chạy phần mềm cơ sở dữ liệu IMS hoặc DB2 của IBM có thể cung cấp cho các
trạm làm việc ở các bị trí phân tán sự truy cập nhanh chóng tới cơ sở dữ liệu
trung tâm. Tuy nhiên trong rất nhiều hệ thống như vậy, cả 3 thành phần của ứng
dụng cơ sở dữ liệu đều thực hiện trên cùng một máy mainframe do vậy cấu hình
này cũng tương tự mô hình tập trung.
2.2. Mô hình cơ sở dữ liệu theo kiểu file-server (File- server database
model)

Trong mô hình cơ sở dữ liệu theo kiểu file- server các thành phần ứng dụng và
phần mềm cơ sở dữ liệu ở trên cùng một hệ thống máy tính và các file vật lý tạo
nên cở sở dữ liệu nằm trên hệ thống máy tính khác. Một cấu hình như vậy
thường được dung trong môi trường cục bộ, trong đó một hay nhiều hệ thống
máy tính đóng vai trò của server, lưu trữ các file dữ liệu cho hệ thống máy tính
khác thâm nhập tới. Trong môi trường file- server, phần mềm mạng được thi
hành và làm cho phần mềm ứng dụng cũng như phần mềm cơ sở dữ liệu trên hệ
thống của người dung cuối coi các file hoặc cơ sở dữ liệu trên file server thực sự
như là trên máy tính của chính họ.
Mô hình file server rất giống với mô hình tập trung. Các file cơ sở dự liệu nằm
trên máy khác với các thành phần ứng dụng và phần mềm cơ sở dữ liệu; tuy
nhiên các thành phần ứng dụng và các phần mềm cơ sở dữ liệu có thể có cùng
một thiết kế để vận hành một môi trường tập trung. Thực chất phần mềm mạng
đã làm cho phần mềm ứng dụng và phần mềm cơ sở dữ liệu tưởng rằng chúng
đang truy xuất cơ sở dữ liệu trong môi trường cục bộ. Một môi trường như vậy
có thể phức tạp hơn mô hình tập trung bởi vì phần mềm mạng có thể phải thực
hiện cơ chế đồng thời cho phép nhiều người sử dụng cuối có thể truy nhập vào
cùng cơ sở dữ liệu.
2.3. Mô hình xử lý từng phần cơ sở dữ liệu (Database extract processing
model):
Trong một mô hình khác trong đó một cơ sở dữ liệu ở xa có thể được truy
nhập bởi phần mềm cơ sở dữ liệu, được gọi là xử lý dữ liệu từng phần. Với mô
11
hình này, người sử dụng có thể tại một máy tính cá nhân kết nối với hệ thống
máy tính ở xa có dữ liệu mong muốn. Người sử dụng sau đó có thể tác động trực
tiếp đến phần mềm chạy trên máy ở xa và tạo yêu cầu để lấy dữ liệu từ cơ sở dữ
liệu đó. Người sử dụng cũng có thể chuyển dữ liệu từ máy tính ở xa về chính
máy tính của mình và vào đĩa cứng và có thể thực hiiên việc sao chép bằng phần
mềm cơ sở dữ liệu trên máy cá nhân.
Với cách tiếp cận này, người sử dụng phải biết chắc chắn là dữ liệu nằm ở đâu

và làm như thế nào để truy nhập và lấy dữ liệu từ một máy tính ở xa. Phần mềm
ứng dụng đi kèm cần phải có trên cả 2 hệ thống máy tính để kiểm soát sự truy
cập và chuyển dữ liệu giữa hai hệ thống. Tuy nhiên, phần mềm cơ sở dữ liệu
chay trên 2 máy không cần biết rằng việc xử lý cơ sở dữ liệu từ xa đang diễn ra
vì người sử dụng tác động tưói chúng một cách độc lập.
2.4. Mô hình cơ sở dữ liệu Client/Server (Client/Server database model):
Trong mô hình cơ sở dữ liệu Client/Server, cơ sở dữ liệu nằm trên một máy
khác với một máy có thành phần xử lý ứng dụng. Những phần mềm cơ sở dữ
liệu được tách ra giữa hệ thống Client chạy các chương trình ứng dụng và hệ
thống Server lưu trữ dữ liệu.
Trong mô hình này, các thành phần xử lý ứng dụng trên hệ thống Client đưa
ra yêu cầu cho phần mềm cơ sở dữ liệu trên máy client, phần mềm này sẽ kết
nối với phần mềm cơ sở dữ liệu chạy trên Server. Phần mềm cơ sở dữ liệu trên
Server sẽ truy cập vào cơ sở dữ liệu và gửi trả kết quả cho máy Client.
Mới nhìn, mô hình cơ sở dữ liệu Client/Server có vẻ giống như mô hình file-
server. Với mô hình file- server, thông tin gắn với sự truy cập cơ sở dữ liệu vật
lý phải chạy trên toàn mạng. Một thao tác yêu cầu nhiều sự truy cập dữ liệu có
thể gây ra tắc nghẽn lưu lượng truyền trên mạng.
Giả sử một người dung cuối tạo một query để lấy dữ liệu tổng số, yêu cầu lấy
dữ liệu từ 1000 bản ghi, với cách tiếp cận file- server nội dung của tất cả 1000
bản ghi phải đưa lên mạng, vì phần mềm cơ sở dữ liệu chạy trên máy ngưòi sử
dụng phải truy cập từng bản ghi để thoả mãn yêu cầu của người sử dụng. Với
12
cách tiếp cận cơ sở dữ liệu Client/Server, chỉ có query khởi động ban đầu và kết
quả cuối cùng đưa lên mạng, phần mềm cơ sở dữ liệu chạy trên máy lưu giữ cơ
sở dữ liệu sẽ truy nhập các bản ghi cần thiết, xử lý chúng và gọi các thủ tục cần
thiết để đưa ra kết quả cuối cùng.
Trong mô hình cơ sở dũ liệu Client/Server, thường nói đến các phần mềm
front- end software và back- end software. Front- end software được chạy trên
một máy tính cá nhân hoặc một workstation và đáp ứng yêu cầu đơn lẻ riêng

biệt, phần mềm này đóng vai trò của Client trong ứng dụng co sở dữ liệu Client/
Server và thực hiện các chức năng hướng tới nhu cầu người dung cuối cùng.
* Phần mềm Front- end software được chia thành các loại sau:
•End user database software: Phần mềm cơ sở dữ liệu này có thể được thực
hiện bởi người sử dụng cuối trên hệ thống của họ để truy nhập các cơ sở dữ
liệu cục bộ nhỏ cũng như kết nối với các cơ sở dữ liệu lớn hơn trên cơ sở dữ
liệu Server.
•Simple query and reporting software: Phần mềm này được thiết kế để
cung cấp các công cụ dễ dung hơn trong việc lấy dữ liệu từ cơ sở dữ liệu và
tạo báo cáo đơn giản từ cơ sở dữ liệu đã có.
•Data analysis software: Phần mềm này cung cấp các hàm vể tìm kiếm,
khôi phục, chúng có thể cung cấp các phân tích phức tạp cho người dung.
•Application development tools: Các công cụ này cung cấp các khả năng về
ngôn ngữ mà các nhân viên hệ thống thông tin chuyên nghiệp sử dụng để xây
dựng các ứng dụng cơ sở dữ liệu của họ. Các công cụ ở đây bao gồm các
công cụ về thông dịch, biên dịch đơn đến các công cụ CASE (Computer
Aided Software Engineering), chúng tự động tất cả các bước trong quá trình
phát triển ứng dụng và sinh ra chương trình cho các ứng dụng cơ sở dữ liệu.
•Database administration Tools: Các công cụ này cho phép người quản trị
cơ sở dữ liệu sử dụng máy tính cá nhân hoặc trạm làm việc để thực hiện việc
quản trị cơ sở dữ liệu như định nghĩa các cơ sở dữ liệu, thực hiện lưu trũ hay
phục hồi.
13
* Back- end software: Phần mềm này bao gồm phần mềm cơ sở dữ liệu
Client/Server và phần mềm mạng chạy trên máy đóng vai trò là Server cơ sở dữ
liệu.
2.5. Distributed database model (Mô hình cơ sở dữ liệu phân tán)
Cả hai mô hình File- Server và Client/Server đều giả định là dữ liệu nằm
trên một bộ xử lý và chương trình ứng dụng truy nhập dữ liệu nằm trên một máy
khác, còn mô hình cơ sở dữ liệu phân tán lại giả định bản thân cơ sở dữ liệu có ở

trên nhiều máy khác nhau.
Qua các mô hình cơ sở dữ liệu trên, dễ thấy mô hình Client/Server là mô
hình phù hợp các yêu cầu đặt ra nhất. Vấn đề ở đây là chúng ta sẽ hiện thực mô
hình này bằng ngôn ngữ gì và hiện thực như thế nào. Các ngôn ngữ lập trình có
thể xây dựng những giao diện đẹp và thuận tiện thì thường không có cơ sở dữ
kiệu tốt đi kèm, và thường hạn chế khả năng khi sử dụng trên mạng diện rộng.
Các phần mềm về cơ sở dữ liệu có thể sử dụng mô hình Client/Server thì thường
đòi hỏi có tính chuyên nghiệp cao. Và hầu hết các biện pháp này thì đều có
nhược điểm là phải có sự cài đặt trên máy đơn trước khi móc nối với Server. Với
công nghệ JSP, chúng ta không cần có bất cứ một sự cài đặt nào mà vẫn sử dụng
được các tính năng của chương trình (với điều kiện và có 1 trình duyệt Web và
máy tính đã được nối mạng). JSP truy xuất cơ sở dữ liệu dựa vào trình truy xuất
JPBC theo chuẩn java do tính năng mạng là được cung cấp sẵn nên Java có thể
dung trên mạng Internet dễ dàng. Với tính năng độc lập nền, người sử dụng
không phải e ngại việc phần mềm không tương thích với hệ điều hành của mình.
Đặc biệt là Java có thể kết nối với hầu hết cơ sở dữ liệu chuẩn của các hang
phần mềm thông qua JDBC, vì vậy cơ sở dữ liệu của hệ thống có thể xây dựng
bằng hệ cơ sở dữ liệu chuẩn, chẳng hạn Oracle để quản lý dữ liệu một cách chặt
chẽ (Ở đây chúng ta sẽ dung cơ sở dữ liệu là MS Access trong môi trường
Windows 9x). Mô hình quản lý ngân hàng đề thi trắc nghiệm được xây dựng
dựa theo mô hình Three- tier như hình II.2.5
14
• Client: là một chương trình chạy các trang JSP thông qua trình duyệt web
để kết nối và gửi các yêu cầu đến server.
• Server: là một chương trình chạy dưới dạng Application, có nhiệm vụ
lắng nghe, phục vụ các yêu cầu từ Client, trả kết quả về cho Client và là
cầu nối trung gian tới cơ sở dữ liệu.
• Database Server: là phần cơ sở dữ liệu của hệ thống dung để lưu trữ tất
cả các dữ liệu liên quan đến hệ thống. Ta sẽ sử dụng Access để tạo ra các
cơ sở dữ liệu và kết nối với Server.

Tất cả các dữ liệu chuẩn đều được lưu trên máy Server (máy chủ), việc
kết nối, truy xuất cơ sỏ dữ liệu thông qua JDBC
3. Sử dụng JDBC để tạo và truy xuất cơ sở dữ liệu
3.1 Thế nào là một cơ sở dữ liệu (Database)?
Cơ sở dữ liệu là một tập hợp các dữ liệu có liên hệ với nhau được tổ chức và
lưu trữ lại trên các thiết bị trữ tin. Nó cho phép nhiều người sử dụng, nhiều
Security login
Encryption
CLIENT
Encryption
CLIENT
Encryption
CLIENT
Encryption
Application
Server
Hình II.2.5 Three-tier system structure
15
chương trình ứng dụng với các mục đích khác nhau đồng thời truy cập và khai
thác.

3.2 Lấy dữ liệu ra từ cơ sở dữ liệu
SQL (Structure Query Language) là ngôn ngữ chuẩn về xử lý dữ liệu được
ANSI và ISO thừa nhận. Hiện nay hầu hết các hệ cơ sở dữ liệu đều hỗ trợ SQL.
SQL là ngôn ngữ phi thủ tục (non procedure language): ta chỉ cần yêu cầu máy
tính đưa ra những gì mà không cần biết máy tính làm như thế nào. Người sử
dụng chỉ cần đưa ra một lệnh SQL sau đó hệ cơ sở dữ liệu sẽ phân tích, xử lý
lệnh này và trả về kết quả người sử dụng (người sử dụng không cần lập trình).
Vì vậy SQL trợ giúp rất đắc lực cho việc xuất dữ liệu, thống kê, tổng hợp, hay
nói khác đi SQL làm tăng khả năng giao tiếp giữa người và máy. SQL chuẩn

thường cung cấp them một số tính năng khác, cho nên về cơ bản SQL giống
nhau ở tất các hệ cơ sở dữ liệu nhưng mỗi hệ cơ sở dữ liệu thì nó có những điểm
riêng cho SQL của nó.
3.3 ODBC (Object Database Connectivity)
ODBC có nhiệm vụ trả lời cho sự kết nối tới những cơ sở dữ liệu trong
Windows được phát hành năm 1992 bởi Microsoft. ODBC cho phép phát triển
và một phiên bản khác được phổ biến năm 1994 nhanh hơn và ổn định hơn, nó
cũng là phiên bản 32bits đầu tiên. Thêm vào đó, ODBC bắt đầu di chuyển
những nền khác hơn Windows và trở nên hoàn toàn thâm nhập vào PC và thế
giới workstation. ODBC driver được cung cấp gần như bởi mỗi database vendor

Dữ liệu vào
Dữ liệu vào
Dữ liệu
Lưu trữ
Xử lý
Hình 1
16
chủ yếu. Nhiều database vendor xác minh ODBC như một “alternate interface”
cho tiêu chuẩn của chúng và chương trình trong ODBC không thông thường. Nó
hầu như giống những những chương trình Windows khác, gồm những yếu điểm
và những sự lựa chọn làm cho nó khó học. Cuối cùng ODBC không phải là một
tiêu chuẩn điều khiển độc lập. Nó phát triển và tiến hoá bởi Microsoft, đưa ra
môi trường phần mềm cạnh tranh cao chúng ta làm việc làm cho tương lai của
nó mạnh hơn dự đoán.
3.4 JDBC là gì?
JDBC là một object- oriented bao bọc và phác thảo lại của ODBC API để rất
dễ hơn cho việc học và sử dụng và nó cho phép ta viết code độc lập để chất vấn
(query) và thao tác những cơ sở dữ liệu. Mục đích chính của JDBC là kết nối
chặt chẽ chương trình java với cơ sở dữ liệu. Java đinh nghĩa mọi hướng cho

việc nhận dữ liệu của application và applet driver của JDBC cấp thấp tiến hành
việc chuyển cơ sở dữ liệu riêng biệt đến giao diện JDBC cấp cao hơn, giao diện
này được sử dụng bởi người phát triển và không cần lo lắng về cú pháp cơ sở dữ
liệu đặc trưng khi tiến hành kết nối và query những cơ sở dữ liệu khác nhau.
Những lớp (class) JDBC là một nhóm trong gói java.sql (java.sql package).
Nhưng thông thường nó không phải là một phần của bộ phát triển phần mềm
chuẩn. Các hướng hiện có của JDBC là những driver cần thiết cho việc kết nối
những cơ sở dữ liệu mà không đòi hỏi bất cứ sự cài đặt nào trên client.
3.5 Cấu trúc JDBC
Có những lý do để tách rời lập trình cấp thấp từ giao diện ứng dụng cấp cao.
Lập trình cấp thấp là JDBC Driver. JDBC là rất uyển chuyển, nó có thể là tài
nguyên dữ liệu cục bộ hay là Server cơ sở dữ liệu từ xa. Việc thực thi kết nối
thực sự tài nguyên dữ liệu/ cơ sở dữ liệu được cho bên trong JDBC Driver.
Cấu trúc JDBC bao gồm những khái niệm sau:
Mục tiêu của JDBC là giao tiếp độc lập DBMS, một “cơ cấu truy xuất cơ sở
dữ liệu SQL chung” và là một giao tiếp giống nhau cho tất cả các tài nguyên
dữ liệu khác nhau.
17
Người lập trình chỉ viết một cơ sở dữ liệu duy nhất sử dụng JDBC, chương
trình có thể truy xuất bất cứ tài nguyên dữ liệu nào.
Lớp DriverManager được sử dụng để mở một kết nối tới cơ sở dữ liệu qua
JDBC driver, driver này phải đăng kí với DriverManager lựa chọn từ một
danh sách các driver có thể tương thích với kiểu chính xác của cơ sở dữ liệu
đã kết nối. Sau khi việc kết nối được hình thành, việc gọi quary và lấy kết quả
là được làm trực tiếp với JDBC driver. JDBC driver phải thực thi những lớp
để xử lý những hàm cho cơ sở dữ liệu riêng biệt, nhưng đặc điểm kỹ thuật của
JDBC đảm bảo rằng driver sẽ được tiến hành như dự kiến. Điều cốt yếu là
người phát triển có JDBC driver cho cơ sở dữ liệu không cần thiết phải lo
lắng về việc phải thay đổi đoạn mã cho chương trình Java nếu một kiểu cơ sở
dữ liệu khác được sử dụng (giả sử rằng JDBC driver cho những cơ sở dữ liệu

khác là có sẵn). Điều này đặc biệt hữu dụng cho các cơ sở dữ liệu phân bố.
3.6 ODBC và JDBC
ODBC trong mô hình JDBC
ODBC và JDBC chia xẻ nguồn gốc chung: cả hai là nền tảng trên X/OPEN gọi
cấp giao tiếp cho SQL. Mặc dù những JDBC driver nổi bật cho nhiều cơ sở dữ
liệu, chúng ta có thể viết chương trình Java sử dụng ODBC hiện có. Trên thực tế
là Javasoft và Intersolv có viết một Java driver - cầu nối JDBC –ODBC – cho
phép người phát triển sử dụng ODBC driver hiện có trong chương trình Java.
Hình 3 minh hoạ vị trí của JDBC – ODBC Brigde trong kiến trúc toàn thể của
JDBC. Tuy nhiên JDBC – ODBC Brigde đòi hỏi sự cài đặt trên client, hay ở nơi
mà chương trình Java thực sự chạy, bởi vì Brigde phải gọi phương thức nội bộ
để chuyển từ ODBC sang JDBC. Chỉ có Java driver 100% mới có thể download
thông qua mạng với một Java applet, không cần bất cứ một sự cài đặt nào.
Nhiệm vụ của ODBC driver trong kiểu tương tự như JDBC driver. Trên thực tế
JDBC – ODBC Brigde thật sự là một JDBC driver chuyển đến và từ ODBC ở
cấp thấp. Khi JDBC driver cho cơ sở dữ liệu sẵn có, chúng ta có thể dễ dàng bật
18
từ ODBC driver đến JDBC driver với một vài thay đổi, nếu có sự thay đổi đoạn
mã của chương trình Java.
3.7 Các kiểu của JDBC driver
Có chính xác 4 phương pháp cho một chương trình Java kết nối tới cơ sở dữ
liệu:
JDBC – ODBC Brigde và ODBC: trong trường hợp này, đây là một giải
pháp cục bộ từ đó JDBC driver và brigde phải hiện diện trong mỗ máy của
user. Đây là nguyên tắc cơ bản một giải pháp tạm thời.
Mã tự nhiên (Native code) với Java driver: cách này thay thế ODBC gọi tới
một protocol độc lập, rồI được chuyển tới một server. Server có thể kết nối tới
bất kì một số cơ sở dữ liệu. Phương thức này cho phép ta gọi một server từ một
applet trên máy Client của ta và trả về kết quả trên Applet.
Native protocol Java driver: Java driver chuyển đổi trực tiếp tới protocol cho

cơ sở dữ liệu đó và thực hiện việc gọi. Phương thức này chỉ có thể được sử
dụng trên một hệ thống và có thể nó hiển thị kết quả trên một Web brownser
applet.
Nếu ta muốn viết code để thao tác một cơ sở dữ liệu PC client giống như
dBase, FoxPro, hay Access, ta có thể sẻ dụng phương thức thứ nhất và có tất
cả code trên máy của user. Rộng hơn, những sản phẩm cơ sở dữ liệu client-
server như của IBM, DB2 cung cấp những driver cấp 3 cho ta.
3.8 Sử dụng JDBC Driver
Muốn sử dụng JDBC driver, đầu tiên chúgn ta phải có JDBC driver (vì chúng
không đi kèm với những gói có trong Java API). Tiếp theo chúng ta muốn sử
dụng ODBC, đừng quên rằng chúng ta sẽ cần ODBC driver. Nếu chúng ta
không có server cơ sở dữ liệu, nhưng muốn sử dụng JDBc, chúng ta có thể sử
dụng gói ODBC driver với Microsoft Access. Sử dụng JDBC- ODBC Brigde,
chúng ta có thể viết những Java application giao tiếp với một cơ sở dữ liệu
Access. Tuy nhiên có thể bây giờ, với sự thay đổi công nghệ có thể có khả năng
sử dụng JDBC – ODBC Brigde. Sử dụng ODBC driver trong chương trình Java
19
đòi hỏi sự cài đặt lại ODBC driver và JDBC – ODBC Brigde trên máy client.
Ngược lại, JDBC driver là lớp Java có thể download động qua mạng cùng với
file chứa mã Java được gọi.
a ) Kết nối tới một cơ sở dữ liệu
Tất cả các đối tượng cơ sở dữ liệu và các phương thức đều ở trong java.sql
packagevà ta phải import java.sql.* vào bất kì chương trình nào sử dụng JDBC.
Để kết nối tới một cơ sở dữ liệuODBC, đầu tiên ta phải load JDBC- ODBC
Brigde driver:
Class.forName(“sun.jdbc.JdbcOdbcDriver”);
Câu lệnh này load driver và tạo ra một ví dụ (ínctance) cho lớp đó. Kế đó
kết nối tới một cơ sở dữ liệu đặc thù, ta phải tạo ra một instance của lớp kết nối
và chuyển đến cơ sở dữ liệu sử dụng cú pháp URL:
String url = “jdbc:odbc:<database name>”);

Connection con = <application>.getConnection(url);
Chú ý: tên cơ sở dữ liệu sử dụng ở đây phải trùng với tên Data Source trong
ODBC setup panel.
Phương thức URL có thể hoàn toàn khác nhau đối với những kiểu cơ sở dữ
liệu khác nhau:
Jdbc:subprotocol:subname
Những ký tự đầu tiên đại diện cho phương thức kết nối và luôn luôn là
JDBC, cũng có thể có nhiều subprototol và ở đây subprotocol được định rõ là
ODBC. Nó được định nghĩa sự kết nối máy móc cho một lớp những cơ sở dữ
liệu. Nếu ta kết nối tới 1 cơ sở dữ liệu server trên một máy khác, ta phải định rõ
máy đó và subdrectory. Cuối cùng ta phải chỉ rõ 1 username và password.
b ) Truy xuất cơ sở dữ liệu
Một khi ta kết nối tới cơ sở dữ liệu, ta có thể yêu cầu cung cấp những
thông tin trên những tên của các bảng, các tên và những nộ dung trong các cột
của chúng; và ta có thể chạy những câu lệnh SQL mà chất vấn cơ sở dữ liệu,
hoặc thêm vào, hoặc thay đổi nội dung. Những đối tượng mà ta thường dùng để
thu được thông tin từ cơ sở dữ liệu là:
20
•DatabaseMetaData: thông tin về cơ sở dữ liệu nói chung: tên bảng liệt kê
(index), tên sản phẩm cơ sở dữ liệu và phiên bản, những hành vi xác minh bởi
cơ sở dữ liệu.
•ResultSet: thông tin về một bảng hay một kết quả của một query. Ta truy cập
dữ liệu theo từng hàng nhưng có thể truy cập những cột bất kỳ.
•ResultSetMetaData: thông tin về nhữn tên cột và những kiểu trong ResultSet.
Trong khi những đối tượng này có một số lớn các phương thức cho phép ta lấy
được rất nhiều thông tin chi tiết về những yếu tố của cơ sở dữ liệu, có một vài
phương thức chủ yếu cho mỗi đối tượng cho ta thông tin đầy đủ nhất về dữ
liệu của ta.
ResultSet
Đối tượng ResultSet là đối tượng đơn quan trọng nhất trong JDBC. Nó là yếu

tố cần thiết cho việc lấy ra một bảng với tổng chiều rộng và không biết chiều
dài. Giống như tất cả các phương thức và các query trả về dữ liệu như một
ResultSet. Nó chứa đựng số của những tên cột mà ta yêu cầu bởi tên. Nó cũng
gồm có một hay nhiều hàng mà ta có thể di chuyển từ trên xuống dưới.
Trước khi dùng ResultSet thì cần hỏi có bao nhiêu cột. Thông tin này được
lưu trữ trong đối tượng ResultSetMetaData:
//get the nember of columns from the metadata
ResultSetMetaData rsmd;
rsmd = vs.getMetaData();
numCol = rsmd.getColumnCount();
Trong khi ta thu được một ResultSet, nó trỏ đến điểm bắt đầu của hàng đầu
tiên. Ta sử dụng phương thức next()để thu được mỗi hàng thêm vào và phương
thức trả lại false khi không còn hàng nào.
Ta có thể lấy dữ liệu cho một ResultSet trong nhiều form tuỳ thuộc vào loại
dữ liệu được lưu trữ trong mỗi cột. Hơn nữa ta có thể lấy được nội dung của một
cột bởi số cột hay bởi tên cột. Vài phương thức bình thường hơn cho đối tượng
ResultSet:
Getlnt(int); trả về nội dung của cột được đánh số int như một số nguyên
21
Getlnt(String); trả về nội dung của cột được đặt tên String như một số nguyên
GetFloat(int); trả về nội dung của cột được đánh số int như một float
GetFloat(String); trả về nội dung của cột được đặt tên String như một Float
GetDate(int); trả về nội dung của cột được đánh số int như một Date
GetDate(String); trả về nội dung của cột được đặt tên String như một Date
Next(); di chuyển hàng trỏ tới hàng kế trả về false nếu không còn hàng nào
Close();đóng ResultSet
GetMetaData(); trả về nội dung của cột được đánh số int như một số nguyên
ResultSetMetaData
Ta thu được đối tượng ResultSetMetaData từ ResultSet dùng phương thức
getMetaData(). Ta có thể sử dụng phương thức này để tìm ra số và loại của

những cột và những tên của mỗi cột:
GetColumnCount(); trả về số của những cột trong ResultSet
GetColumnName(int); trả về tên của số cột int
GetColumnLabel(int); trả về nhãn đề nghị cho một số int
IsCurrency(int); trả về true nếu cột chiếm một số trong đơn vị thi hành
IsReadOnly(int); trả về true nếu cột là tự động tăng. Như vậy những cột luôn
luôn là khoá và chỉ đọc.
GetColumnType(int); trả về loại dữ liệu SQL cho cột này. Những loại dữ liệu
này gồm có bigint, binary, bit, char, date, decimal, double, float, integer,
longvarbinary, longvarchar, null, numeric, other, real, smallint, time,
timestamp, tiyint, varbinary, varchar.
DatabaseMetaData
Đối tượng DatabaseMetaData cho chúng ta thông tin về toàn bộ cơ sở dữ liệu.
Chúng ta sử dụng nó chủ yếu để tìm ra những tên của các bảng trong cơ sở dữ
liệu và những tên của các cột trong một bảng. Từ đó những cơ sở dữ liệu khác
nhau cũng xác minh khác nhau về SQL, cũng có một số phương thức query cơ
sở dữ liệu về những phương thức SQL nó support như thế nào:
22
GetCatalogs(); trả về một danh sách những Catalog của thông tin trong cơ sở
dữ liệu với JDBC – ODBC Brigde driver ta lấy được một danh sách những
cơ sở dữ liệu được cập nhật với ODBC.
GetTables; trả về một sự mô tả của những tên bảng cho tất cả các bảng phối
hợp tableName và tất cả những cột columnName
GetColumns; trả về một sự mô tả của bảng những tên cột cho tất cả các bảng
phối hợp tableName và tất cả những cột phối hợp với columnName.
getURL; tìm tên của URL được kết nối.
GetDriverName(); tìm tên của những datebase được kết nối tới.
Lấy thông tin trên những table trong một số cơ sở dữ liệu sử dụng phương
pháp gettable() trong DataBaseMetaData.
Results =dma.getTable(catalog,schema,tablemsk,type );

•Catalog: tên của catalog nhìn vào những tên table. Đối với những cơ sở dữ
liệu JDBC-ODBC và nhiều loại khác nhau có thể được gán null, Catalog đi
vào những cơ sở dữ liệu này chính xác theo tên đường dẫn xác thực của chúng
theo hệ thống file
•Schema bao gồm lượt sơ đố dữ liệu, Nhiều cơ sở dữ liệu không khuyến khích
schema váf đối với những cái khác nó là username của chủ nhân của cơ sở dữ
liệu, nó thường là null
•Tablemask: một mặt nạ mô tả những tên của những table mà ta muốn phục
hồI, nếu ta muốn phục hồI tất cả những table gán nó tới % bảng ký tự lạ
(windcard character %). Chú ý rằng wildear character trong SQL là phần trăm
ký hiệu và không thường dùng ký hiệu * của PC user.
•Type[]: một dãy của những chuỗi mô tả các loại của những table ta muốn
phục hồi. Nếu type[] là null, ta sẽ lấy được những table này.
4. Tổ chức cơ sở dữ liệu:
Dữ liệu liên quan đến hệ thống gồm có:
• Dữ liệu về thông tin các user sử dụng hệ thống (Administrator,Giáo viên ,
Sinh viên )
23
• Dữ liệu thi ( môn thi ,câu hỏi thi , đề thi ,bài thi ,kết quả thi )
• Dữ liệu thống kê ( report báo cáo theo định kỳ)
Câu hỏi được dùng trong trắc nghiệm có nhiều loại nhưng trong chương
trinh chỉ sử dụng một dạng câu hỏi : Câu hỏi có nhiều lựa chọn với một câu
đúng. Đây là dạng câu hỏi trắc nghiệm khách quan gồm phần mô tả chung và
các lựa chọn A,B,C,D người dùng chỉ cần lựa chọn câu trả lời đúng trong số các
đáp án mà chúng tôi đã đưa ra.
Thời gian chuẩn là thời gian giới hạn chuẩn để trả lời bài thi khi hết thời
gian bài làm sẽ tự động được lưu vào CSDL.
Ngân hàng đề thi trắc nghiệm là tập hợp các loại câu hỏi được giáo viên soạn
và đưa vào hệ thống . Một đề thi gồm nhiều câu thi ,phần thi ,môn thi đựơc giáo
viên chọn lấy hoặc được tổng hợp một cách ngẫu nhiên các câu hỏi và được lưu

lại trong hệ thống dưới dạng đề thi.
Bài thi trắc nghiệm trực tiếp trên máy là một đề thi được trình bày trong trình
duyệt Web để người sử dụng trả lời và chương trình chấm điểm. Mỗi đề thi có
một mức kiểm tra và thời gian do giáo viên quy định cụ thể trong quá trình soạn
đề .Do đó trong quá trình thi hệ thống ngân hàng đề thi trắc nghiệm sẽ tính thời
gian từ lúc bắt đầu làm bài,nếu hết thời gian quy định mà người làm chưa làm
xong thì hệ thống sẽ tự động ngưng quá trình làm bài,lưu bài thi , chấm điểm và
trả kết quả về cho người làm.
Tất cả các dữ liệu liên quan đến hệ thống như dữ liệu về các User sử dụng hệ
thống ,dữ liệu về các câu hỏi thi , đề thi do giáo viên soạn, dữ liệu về các bài thi
hay nhièu thứ khác nữa được lưu dưới dạng bảng (Access,SQL, Oracle,Fox…)
trên máy chủ Server.
Ở đây CSDL của hệ thống được lưu dưới dạng bảng Access. Do đó từ sơ đồ
logical giữa các class ta chuyển sang sơ đồ quan hệ của Access, trong đó mỗi
class trong sơ đồ logical giữa các class được chuyển thành mỗi bảng trong sơ đồ
quan hệ của Access tương ứng .
24
Trong đề tài này ta sử dụng bảng của Access để lưu dữ liệu . Do đó các bảng
dữ liệu trước khi sử dụng ta phải đăng ký với hệ thống thông qua 32bit ODBC
của hệ điều hành:

Trong hình trên ta chọn System DNS rồi chọn Add…

Chọn data source là Microsoft Access driver(*.mdb) ròi nhấn Finish để đăng
ký data source dùng trong chương trình.
25

×