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

PHẦN I : GIỚI THIỆU VÀ PHÂN TÍCH ĐỀ TÀI 3

I .Nội dung đề tài 3

II .Yêu cầu của đề tài 3

III . Giải quyết các yêu cầu của đề tài 4

1. Networking 4

1.2. Mô hình mạng TCP/IP 6

2. Các mô hình cơ sở dữ liệu 10

2.1. Mô hình cơ sở dữ liệu tập trung (Centralized database model): 10

2.2. Mô hình cơ sở dữ liệu theo kiểu file-server (File- server database model) 11

2.3. Mô hình xử lý từng phần cơ sở dữ liệu (Database extract processing model): 11

2.4. Mô hình cơ sở dữ liệu Client/Server (Client/Server database model): 12

2.5. Distributed database model (Mô hình cơ sở dữ liệu phân tán) 14

3. Sử dụng JDBC để tạo và truy xuất cơ sở dữ liệu 15

3.1 Thế nào là một cơ sở dữ liệu (Database)? 15

3.2 Lấy dữ liệu ra từ cơ sở dữ liệu 16

3.3 ODBC (Object Database Connectivity) 16

3.4 JDBC là gì? 17

3.5 Cấu trúc JDBC 17

3.6 ODBC và JDBC 18

3.7 Các kiểu của JDBC driver 19

3.8 Sử dụng JDBC Driver 19

4. Tổ chức cơ sở dữ liệu: 23

5. Chức năng chính của các User sử dụng hệ thống 26

PHÇN II: GIÍI THIÖU C«NG CÔ 28

I. Khái niệm về JRUN: 28

II.Cài đặt JRUN: 28

1.Cài đặt JDK1.3: 28

2.Cài đặt JRUN Web Server: 28

3.Cấu hình quản trị Web Server trong JRUN: 30

3.1.Cấu hình JRUN Default Web Server: 30

3.2.Sử dụng bộ hộ trỡ kết nối (JRUN Connector Wizard): 30

4.Cấu hình và tạo ứng dụng web (Web Application): 32

4.1.Tạo mới ứng dụng Web: 32

4.2Xoá một ứng dụng web: 33

4.3.cập nhật một ứng dụng web: 34

PHẦN III : PHÂN TÍCH THIẾT KẾ CHƯƠNG TRÌNH 36

I. Các user sử dụng hệ thống và chức năng của các user 36

1.Các user sử dụng hệ thống: 36

2.Sơ đồ mô tả chức năng của các user: 37

2.1. Người quản trị mạng (Administrator): 37

2.2. Giáo viên người ra đề thi: 38

2.3. Sinh viên (người thi): 38

II. Phân tích thiết kế hệ thống về chức năng: 39

1.Biểu đồ phân cấp chức năng: 39

2.Biểu đồ luồng dữ liệu: 39

2.1.Biểu đồ luồng dữ liệu mức khung cảnh: 39

2.2.Biểu đồ luồng dữ liệu mức một: 40

2.3.Biểu đồ luồng dữ liệu mức 2: 40

II. Phân tích thiết kế hệ thống về dữ liệu: 42

1.Mô hình thực thể liên kết: 42

III.Quá trình thực hiên các chức năng của các user 45

1 . Các chức năng của Admin 45

1.1 Admin login ra vào hệ thống 45

1.2 Admin đăng ký người dùng 45

1.3 Admin thay đổi thông tin người dùng . 46

1.4 Admin tạo report 47

2. Các chức năng của giáo viên 48

2.1 Giáo viên đăng nhập vào hệ thống 48

2.2 Giáo viên thay đổi thông tin 48

2.3 Giáo viên soạn câu hỏi thi 49

2.4 Giáo viên xem kết quả thi 50

2.5 Giáo viên thêm môn thi . 51

3. Các chức năng của sinh viên 51

3.1 Sinh viên đăng nhập vào hệ thống 51

3.2 Sinh viên thay đổi thông tin 52

3.3 Sinh viên thi 53

3.4 Sinh viên xem kết quả thi 53

4 . Tìm kiếm. 54

5. Những trang JSP có trong chương trình: 55

KẾT LUẬN 56

 

 

doc58 trang | Chia sẻ: huong.duong | Lượt xem: 2344 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu 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, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
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. * 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 Security login Encryption CLIENT Encryption CLIENT Encryption CLIENT Encryption Application Server Hình II.2.5 Three-tier system structure 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 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 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. Dữ liệu vào Dữ liệu vào Dữ liệu Lưu trữ Xử lý Hình 1 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 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. 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 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 đò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:”); Connection con = .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à: 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 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: 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 ) 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 . 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. Trong hình trên ta đánh tên data source dùng trong chương trình vào Data source Name sau đó nhấn vào Select để chọn đường dẫn đến data source dùng trong chương trình ,màn hiện ra như sau : 5. Chức năng chính của các User sử dụng hệ thống Người quản trị mạng chung có thể thực hiện tất cả các thao tác liên quan đến ngân hàng đề thi mà mình quản lý bao gồm : Thay đổi password Đăng ký giáo viên ,sinh viên tham gia vào hệ thống . Thay đổi thông tin giáo viên ,sinh viên bao gồm : thay đổi password ,xoá bỏ những user không còn dùng nữa ra khỏi hệ thống ngân hàng đề thi . Tạo report thống kê theo định kỳ . Giáo viên có các chức năng cũng như quyền thao tác đối cới hệ thống ngân hàng đề thi trắc nghiệm thông qua trình duyệt Web như sau : Soạn câu hỏi thi Soạn đề thi Thêm môn thi Thay đổi password Xem kết quả của sinh viên Sinh viên : được chia ra làm 2 nhóm Nhóm 1 : là những sinh viên có đăng ký thông qua Administrator,khi sinh viên đăng ký sẽ được cấp một username và password để login hệ thống . Những sinh viên thuộc nhóm này sẽ được hệ thống quản lý ,cập nhật dữ liệu về thông tin cá nhân và kết quả thi của sinh viên . Do đó sinh viên thuộc nhóm này cs các chức năng cũng như quyền thao tác đối với hệ thống ngân hàng đề thi trắc nghiệm thông qua trình duyệt Web như sau : Thay đổi password Thực hiện một bài thi trắc nghiệm trực tiếp trên máy bao gồm :nhận đề ,trả lời ,và nhận kết quả . Xem lại kết quả thi Xem lại quá trình thi Nhóm 2 : là những sinh viên không đăng ký mà có nhu cầu muốn thi trắc nghiệm để kiểm tra khả năng cũng như trình độ của mình thế nào .Những sinh viên thuộc nhóm này hệ thống không quản lý mà chỉ cho phép sinh viên thực hiện bài thi trắc nghiệm trực tiếp trên máy và trả về kết quả cho sinh viên. Do đó sinh viên chi chọn phần thi Online để thực hiện một bài thi trắc nghiệm và xem kết quả của mình với bài thi đó. PhÇn II: Giíi thiÖu c«ng cô I. Khái niệm về JRUN: Jrun là trình chủ Server thực thi được các công nghệ Web mới nhất của Java như Servlet, JSP, và EJB Jrun lµ tr×nh chñ Web Server cã giao diÖn qu¶n trÞ ®Ñp sö dông ®¬n gi¶n vµ hiÖu qu¶. II.Cài đặt JRUN: 1.Cài đặt JDK1.3: Trước khi muốn sử dụng Jrun thì chúng ta phải có phần hỗ trợ cho Java ở đây dùng bộ JDK1.3 .Việc cài đặt JDK cũng khá đơn giản chỉ việc nhét đĩa vào và làm như hướng dẫn. 2.Cài đặt JRUN Web Server: JRUN cã nhiÒu phiªn b¶n, trong qu¸ tr×nh thùc hµnh chóng em ®· sö dông phiªn b¶n cã trªn ®Üa CD kÌm theo s¸ch ®ã lµ phiªn b¶n miÔn phÝ (free) kh«ng cã tÝnh th­¬ng m¹i v× vËy kh«ng thÝch hîp cho môc ®Ých kinh doanh. Yªu cÇu vÒ phÇn cøng vµ phÇn mÒm: §Ó cµi ®Æt vµ ch¹y JRUN, m¸y ph¶i cã tèi thiÓu: 32 MB RAM 20 MB dung l­îng ®Üa cøng HÖ ®iÒu hµnh JRUN cã thÓ cµi trªn hÖ ®iÒu hµnh Window9x hay NT (2000, UNIX, LINUX) Sö dông tr×nh duyÖt Nescape hay Internet Exploirer M«i tr­êng m¸y ¶o JRE (Java Runtime Environment) JDK 1.2.2 hay JDK 1.3 b. C¸c b­íc cµi JRUN: B1: Dõng Web Server nÕu b¹n ®· kÕt nèi víi JRUN hoÆc cµi JRUN tr­íc ®ã B2: Tho¸t tÊt c¶ øng dông Windows ®ang ch¹y B3: Ch¹y tËp tin setup.exe B4: Trang giíi thiÖu flash form cña JRUN xuÊt hiÖn B5: Trän phiªn b¶n mµ b¹n cã quyÒn sö dông B6: Trang ®¨ng nhËp b¶n quyÒn (Listense Agreement) th«ng b¸o cho b¹n B7: B¹n cã thÓ nhËp vµo Serial No, nÕu kh«ng cã th× sang b­íc 8 B8: Chän th­ môc ®Æt toµn bé tËp tin cña JRUN B9: Chän kiÓu cµi ®Æt nh­ : full, Minimum, Custom B10: Chän c¸c Components B11: Chän Programmer Folder B12: Chän Intall JRUN Services nÕu muèn JRUN ch¹y nh­ mét dÞch vô hç trî (support service) cña Windows. B13: Chän phiªn b¶n hç trî Java ®· cµi tr­íc ®ã JDK1.3 B14: Chän cæng (port) cho phÇn qu¶n trÞ (Administrator) JRUN. Cæng mÆc ®Þnh lµ 8000. B15: NhËp vµo mËt khÈu (password) cho ng­êi qu¶n trÞ B16: §iÒn mét sè th«ng tin ®¨ng ký ( trong tr­êng hîp sñ dông b¶n quyÒn phÇn mÒm), sau khi cµi ®Æt xong cÇn ph¶i khëi ®éng l¹i m¸y. Trong qu¸ tr×nh cµi phiªn b¶n free chóng ta kh«ng cÇn ph¶i tr¶i qua b­íc 5,6. JRUN ®· cµi xong chóng ta cã thÓ s½n sµng sö dông JRUN. 3.Cấu hình quản trị Web Server trong JRUN: Sau khi cµi xong ta sö dông trang qu¶n trÞ ®Ó qu¶n lý vµ khëi ®éng, thay ®æi tham sè cho tr×nh chñ Default Web Server phôc vô øng dông Web. 3.1.Cấu hình JRUN Default Web Server: CÊu h×nh nµy lµ mÆc ®Þnh s½n trong JR

Các file đính kèm theo tài liệu này:

  • docP0077.doc