Các phương pháp đã được sử dụng trong đề tài : Sử dụng các tập tin .JSP kết hợp với các lệnh JavaScript để kết nối, thao tác trên cơ sở dữ liệu và xử lý các thao tác của ngưởi sử dụng..
Trang 1TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHỆ
KHOA CÔNG NGHỆ THÔNG TIN
Đồ án tốt nghiệp
CHƯƠNG TRÌNH
QUẢN LÝ ĐIỂM TRƯỜNG TRUNG HỌC PHỔ THÔNG
GVHD : Thầy NINH XUÂN HẢI
SVTH : NGÔ KIẾN THANH MSSV : CTH2- 010
LỚP : B2 CÀ MAU
Tháng 11/2004
Trang 2TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHỆ TP HỒ CHÍ MINH
KHOA CÔNG NGHỆ THÔNG TIN
Đồ án tốt nghiệp
CHƯƠNG TRÌNH
QUẢN LÝ ĐIỂM TRƯỜNG TRUNG HỌC PHỔ THÔNG
GVHD: Thầy NINH XUÂN HẢI
SVTH:NGÔ KIẾN THANH MS : CTH2 – 010
Tháng 11/2004
Trang 3Đề tài: CHƯƠNG TRÌNH QUẢN LÝ ĐIỂM TRƯỜNG THPT
Trang 4
Điểm bằng số:
Điểm bằng chữ:
Tp Hồ Chí Minh, Ngày….tháng… năm 2004
NGƯỜI NHẬN XÉT (Ký tên và ghi rõ họ tên )
Trang 5
Đề tài: CHƯƠNG TRÌNH QUẢN LÝ ĐIỂM TRƯỜNG THPT
Điểm bằng số:
Điểm bằng chữ:
Tp Hồ Chí Minh, Ngày….tháng… năm 2004 NGƯỜI NHẬN XÉT (Ký tên và ghi rõ họ tên ) CÁC CÂU HỎI:
Trang 6
Trang 7
Người duyệt (chấm hồ sơ):
Đơn vị:
Ngày bảo vệ:
Điểm tổng quát:
Nơi lưu trữ đồ án:
Trang 8Dựa vào khả năng truy cập từ xa của Internet và các công nghệ truyền thông đa phương tiện cùng với tính phổ biến rộng rải, ta có thể xây dựng một chương trình quản lý có thể truy cập từ xa qua mạng Internet
Trong các trường THPT hiện nay việc quản lý điểm của học sinh đã tiêu tốn rất nhiều thời gian và công sức của giáo viên mà hiệu quả đem lại không cao, dể nhằm lẫn… Mặt khác nhu cầu của học sinh muốn biết kết quả học tập của mình một cách nhanh chóng và chính xác, phụ huynh mong muốn kiểm tra tình hình học tập của con
em mình, giáo viên muốn đánh giá kết quả học tập của lớp học theo từng môn học là những yêu cầu vô cùng thiết thực Xuất phát từ tình hình thực tế đó Web Site Quản lý điểm trường THPT ra đời với mong muốn góp một phần nhỏ vào sự nghiệp phát triển giáo dục và đào tạo
II MỤC ĐÍCH VÀ YÊU CẦU CỦA ĐỀ TÀI :
II.1 Mục đích :
Đề tài được thực hiện nhằm mục đích nghiên cứu và hệ thống hóa các nguyên tắc, kỹ thuật và các công cụ tạo Web Site sinh động, truy cập cơ sở dữ liệu trên Internet Nghiên cứu và tìm hiểu nghiệp vụ về hệ thống quản lý điểm của trường THPT, từ đó xây dựng một Web Site hổ trợ việc quản lý và xem điểm của học sinh trên mạng Internet
II.2 Nội dung :
Chương trình cho phép nhà quản trị quản lý, cập nhật các thông tin như : Lớp học, môn học, hồ sơ học sinh và điểm, thống kê, báo cáo tình hình học tập của lớp theo từng môn học, học kỳ và niên khóa
Trang 9cũng có thể xem bảng điểm của lớp mình theo từng môn học
II.3 Phương pháp tiếp cận :
Nghiên cứu và tìm hiểu các ngôn ngữ lập trình mới và chọn ra ngôn ngữ lập trình hổ trợ mạnh cho môi trường mạng và có tính bảo mật cao Nghiên cứu tìm hiểu các kỹ thuật và công cụ tạo Web Site sinh động nhằm tạo ra giao diện đẹp mắt, dể tiếp cận với người sử dụng
Nghiên cứu các mô hình xử lý dạng khách/chủ (Client/Server), tìm hiểu về tình hình phát triển Internet để chọn lựa giải pháp tốt nhất áp dụng vào đề tài
II.4 Các phương pháp đã được sử dụng trong đề tài :
Sử dụng các tập tin JSP kết hợp với các lệnh JavaScript để kết nối, thao tác trên cơ sở dữ liệu và xử lý các thao tác của ngưởi sử dụng
Sử dụng hệ quản trị cơ sở dữ liệu SQL Server 2000 làm Database Server
Sử dụng IIS (Internet Information Services) làm Web Server dựa trên hệ điều hành Window xp
Sử dụng ODBC Data Sources (32 bit) trong Window xp để kết nối cơ sở dữ liệu
II.5 Kết quả đạt được :
Xây dựng được chương trình quản lý điểm trường THPT trên Interet, hổ trợ các chức năng cho nhà quản trị như : cập nhật, báo cáo, thống kê Hệ thống giúp nhà quản trị giải quyết công việc quản lý của mình một cách nhanh chóng và hiệu quả
Hổ trợ cho học sinh có thể biết được kết quả điểm của mình nhanh chóng, chính xác chỉ với một máy tính cá nhân có kết nối mạng được đặt ở bất kỳ nơi nào
Do kỹ thuật lập trình còn hạn chế và thời gian có hạn, bên cạnh những kết quả đạt được không thể tránh khỏi những thiếu sót, mong được sự góp ý của quý thầy cô, các bạn để chương trình được tốt hơn và có thể áp dụng được vào thực tế
Trang 10PHẦN A: TÌM HIỂU CÔNG NGHỆ
Chương I: TÌM HIỂU INTERNET_INTRANET_WORLD WIDE WEB Trang 1
I Sự phát triển của mạng Internet Trang 1
II Sự phát triển của mạng Intranet Trang 1 III Web là gì ? Trang 2 Chương II: TÌM HIỂU NGÔN NGỮ LẬP TRÌNH JSP Trang 6
I Cơ chế hoạt động của JSP Trang 6
II Những điểm nổi bật của JSP Trang 7 III Mô hình ứng dụng công nghệ JSP Trang 8
1 Mô hình ứng dụng đơn giản Trang 8
2 Mô hình kết hợp với Java Servlet Trang 9
3 Kết hợp với Enterprise JavaBean Trang 9
IV Các đối tượng cơ bản trong JSP Trang 10 Chương III: GIỚI THIỆU VỀ SQL SERVER Trang 12
I Giới thiệu khái quát SQL Server Trang 12
II Kiến trúc mạng của SQL Sever Trang 12 III Các cấu hình cơ bản của SQL Server Trang 15
IV Transact_SQL Trang 16
V Kiến trúc của SQL Server Database Trang 17 Chương IV: JDBC VÀ VIỆC KẾT NỐI CƠ SỞ DỮ LIỆU Trang 20
II Kết nối cơ sở dữ liệu Trang 20
1 Các trình điều khiển trong JDBC Trang 20
2 Sử dụng trình điều khiển JDBC kết nối cơ sở dữ liệu Trang 22
PHẦN B: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
Chương I: KHẢO SÁT HIỆN TRẠNG VÀ TÌM HIỂU BÀI TOÁN Trang 27
I Phân tích hiện trạng Trang 27
II Các chức năng quản lý Trang 29 III Mô hình mạng của hệ thống Trang 30
Chương II: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG Trang 31
I Mô hình chức năng Trang 31
1 Sơ đồ chức năng của sinh viên Trang 31
2 Sơ đồ chức năng của người quản trị Trang 31
Trang 11VI Xác định các mối liên kết Trang 39 VII Mô tả các ràng buộc Trang 40 VIII Xáx định các phụ thuộc hàm Trang 45
IX Từ điển dữ liệu Trang 47
Chương III: CÀI ĐẶT CHI TIẾT CÁC BẢNG (TABLES) Trang 50
I Mô hình quan hệ của hệ thống Trang 50
II Chi tiết các bảng (tables) Trang 51 Chương IV: GIAO DIỆN CHƯƠNG TRÌNH Trang 54 Chương V: KẾT LUẬN Trang 91 Tài liệu tham khảo Trang 93
Trang 12PHẦN A
- -
Trang 13CHƯƠNG I :
TÌM HIỂU INTERNET- INTRANET- WORLD WIDE WEB
- -
Internet, Intranet và World Wide Web ngày nay có mặt ở khắp nơi trên thế giới Những thuật ngữ như “siêu xa lộ thông tin ” đã trở thành những từ ngữ thông dụng trên mọi phương tiện quảng cáo, truyền thông, truyền hình, báo chí…
I SỰ PHÁT TRIỂN CỦA MẠNG INTERNET:
Internetbắt nguồn từ mạng APARNET trực thuộc bộ quốc phòng Mỹ và được mở rộng cho các viện nghiên cứu, sau này được phát triển cho hàng triệu người cùng sử dụng như ngày hôm nay Ban đầu các nhà nghiên cứu liên lạc với nhau qua mạng bằng dịch vụ thư điện tử, sau đó phát sinh thêm một số mạng máy tính như mạng Usernet, ngày nay là dịch vụ bảng tin điện tử Mạng này được thiết lập đầu tiên ở University of North Carolina mà qua đó người dùng có thể gửi và đọc các thông điệp theo các đề tài tự chọn Ơ Việt Nam thì Mạng Trí Tuệ Việt Nam của công ty FPT là mạng đầu tiên được xây dựng theo dạng bảng tin điện tử
Các nhà khoa học khắp nơi trên thế giới tham gia vào hệ thống thông tin mở này, những người dùng với mục đích thương mại và công chúng cũng tham gia vào
hệ thống này thông qua các nhà cung cấp dịch vụ Internet Vì thế gây ra sự phát triển bùng nổ thông tin liên lạc toàn cầu qua máy tính Đó là mạng Internet ngày nay
Internetcó thể tạm hiểu là liên mạng gồm các máy tính kết nối với nhau theo một nhgi thức và một số thủ tục chung gọi là TCP/IP (Transmission Control Protocol/Internet Protocol) Mỗi máy tính trên mạng có một địa chỉ IP tương ứng
Để liên lạc giữa máy này với máy kia bạn có thể sử dụng địa chỉ IP của máy hay tên của máy, nếu như tên máy này được khai báo, nếu như tên máy này được khai báo trong DNS(Domain Name System)
II SỰ PHÁT TRIỂN CỦA MẠNG INTRANET:
Ngày nay có rất nhiều công ty đã và đang nhận ra những lợi điểm của việc sử dụng Internet trong công ty và họ đã sử dụng những mạng Intranet cục bộ Những
hệ thống mạng này thời gian đầu dùng để làm công cụ giao tiếp nội bộ trong công
ty, những nhân viên có thể gửi và nhận mail của những nhân viên khác trong cùng công ty Những hệ thống mạng này cũng đồng thời cho phép dùng chung tài nguyên
hệ thống như : máy in, cơ sở dữ lệu của công ty Nhưng đối với người sử dụng thì không có sự khác nhau giữa việc truy cập Internet và Intranet của công ty
Intranet được dùng phổ biến cho những công ty thương mại, những tổ chức Những hệ thống mạng Intranet riêng được tập trung vào việc cung cấp một cấu trúc
cơ sở hạ tầng bảo mật đáng tin cậy Từ những mạng Intranet nôi bộ có thể kết nối vào Internet qua Firewall
Trang 14III WEB LÀ GÌ ?
Word Wide Web là một khái niệm mà người dùng Internet quan tâm nhất hiện nay Word Wide Web viết tắt là WWW hay còn gọi là Web Web là một dịch vụ của Internet, Web chứa thông tin bao gồm văn bản, hình ảnh, âm thanh và thậm chí cả video kết hợp với nhau bằng ngôn ngữ HTML (Hypertext Markup Language ) Web cho phép bạn truy cập vào mọi lĩnh vực trên Internet Những điểm chứa cơ sở dữ liệu gọi là Web Site (hay còn gọi là Web Server)
Web Server là máy chủ trong đó chứa thông tin dưới dạng Web Các Web Server được nối với nhau trên Internet, mỗi Server có địa chỉ riêng bắt đầu bằng http://
Ngày nay nhiều công ty và trường học đã thiết kế một loại Internet cục bộ mang tên là Intranet, mỗi phòng ban hoặc mỗi nhân viên cao cấp sẽ có riêng cho mình một Home page (trang chủ) và tất cả các Home page đều tập trung ở một nơi gọi là Web Server (là máy quản trị Web ) Nếu các mạng cục bộ Intranet này được kết nối với các mạng cục bộ khác với các nước trên thế giới thông qua đường dây điện thoại được cung cấp bởi các nhà cung cấp dịch vụ Internet thì chúng ta sẽ hình thành được một hệ thông gọi là Internet Lúc bây giờ một người sử dụng có thể truy cập vào các trang Home page bất kỳ trên một Web Server nào trên thế giới thông qua các siêu liên kết văn bản
Trang web hoạt động như thế nào ?
Dịch Vụ Word Wide Web:
Có nhiều phần mềm có thể làm dịch vụ Word Wide Web như Microsoft Internet Information Server (chạy trên Windows NT Server ) hoặc Frontpage98 Server Extension (chạy trên Windows 95 và Windows NT ) Cơ chế hoạt động của Web Server :
Dịch vụ Web xây dựng theo mô hình Client/Server (khách/chủ ), trong đó Web Browser đóng vai trò là Client gửi các yêu cầu dưới dạng URL đến Server Web Server trả lời bằng cách trả về một trang HTML Trang HTML có thể là một trang Web tĩnh, tức là nội dung của nó đã có dạng xác định và được lưu trên Web Site, hoặc một trang Web động (nội dung không xác định trước ) mà Server tạo ra tại thời điểm Client yêu cầu trả lời cho yêu cầu của Client, hoặc một trang liệt kê các files và folder trên Web Site
Web Browser gửi yêu cầu URL đến Web Server
Internet or Intranet
Client Server
Trang 15Mỗi trang trong một Intranet hoặc Internet có một URL (Uniform Resource Location ) duy nhất định vị chúng Web browser yêu cầu một trang bằng cách gửi một URL đến một Web Server Web Server sẽ dùng các thông tin trong URL để địng vị và tổ chức một trang HTML để gửi về cho Web browser : một chuỗi URL
<Domain_name> là tên DNS (Domain Name System) của máy Web Server
<Path> là đường dẫn đến thông tin được yêu cầu trên Server
Bảng sau đây ví dụ các địa chỉ URL khac nhau:
Protocol Domain Name Path
III.2.Trang Web Động:
Là những trang Web được tạo ra tại thời điểm Client gửi yêu cầu để đáp ứng yêu cầu của người sử dụng (User) Server có thể sẽ gọi chạy một chương trình khác,
sử dụng các API của Server, các ngôn ngữ kịch bản CGI Script, Query cơ sở dữ
Internet or Intranet
Trang 16Cám ơn yêu cầu của bạn
Trang 17CHƯƠNG II :
TÌM HIỂU NGÔN NGỮ LẬP TRÌNH JSP
(JAVA SERVER PAGES)
- -
Công nghệ Java Server Pages (viết tắt là JSP) là công nghệ Java dựa trên
nền J2EE để xây dựng những ứng dụng chứa nội dung trang Web động như : HTML,DHTML, XHTML và XML Công nghệ JSP có khả năng tạo ra những trang Web với nội dung linh hoạt có vai trò quan trọng trong việc phát triển các ứng dụng Web
Một trang JSP (.JSP) là một trang HTML hay XML trong đó có chứa mã Java, phần HTML chịu trách nhiệm về việc định dang văn bản, mã chương trình xen lẫn trong văn bản dùng để diễn đạt các thao tác xử lý dữ liệu hoặc nối kết với cơ
sở dữ liệu (Database) Trang Web truyền thống (dùng HTML) được trình chủ Web gửi ngay đến cho máy khách (Client) khi có yêu cầu , còn các trang JSP phải chạy qua một guồng máy (Engine) riêng biệt ở đó phần mã chương trình được tách ra khỏi trang JSP , được thi hành và kết quả xử lý được ghi trở vào trang Web đang xét tạo thành trang HTML thuần tuý
JSP Container HTML
Trang 18Trang JSP khi chạy, mã Java sẽ được biên dịch thành JavaServlet và servlet
này chạy trên máy ảo Java (JVM) ở phía máy chủ (Web Server) Mã Java được biên dịch khi máy khách truy xuất trang JSP lần đầu tiên Tập tin jsp có cấu trúc giống như tập tin html truyền thống, nhưng khác ở chỗ là tập tin jsp có xen lẫn mã Java
Mã Java được tách biệt với phần HTML thông thường bằng cặp dấu <% và %> I.CƠ CHẾ HOẠT ĐỘNG CỦA JSP
Công nghệ JSP gắn liền với Servlet Mã Java trong trang JSP được biên dịch thành Servlet khi trình duyệt phía khách (Client) truy xuất trang JSP lần đầu tiên Quá trình diễn ra như sau: mã Java được tách ra khỏi nội dung bình thường của trang JSP, tạo thành mã nguồn của Servlet Kết quả xử lý của Servlet được thay vào chỗ biểu thức JSP trong trang Web ban đầu (trang Web mà trình duyệt nhận được là trang HTML thuần tuý )
II NHỮNG ĐIỂM NỔI BẬT CỦA CÔNG NGHỆ JAVA SERVER PAGE (JSP )
+ Tận dụng được sức mạnh của ngôn ngữ lập trình Java:
Do nền tảng của JSP dựa trên Java nên JSP cũng tận dụng được các ưu điểm trên JSP cung cấp một phương pháp rất mạnh để xử lý yêu cầu từ Client, cũng như những ưu việt trong chế độ an toàn, chống rò rỉ bộ nhớ (memory leak) và hỗ trợ chế
độ xử lý đa tuyến đoạn (multithreading )
+ Quá trình phát triển, triển khai và duy trì phát triển ứng dụng Web trở nên
dễ dàng và nhanh chóng
JSP đã làm đơn giản hoá và tăng tốc quá trình phát triển ứng dụng Web Thay cho việc phải viết một chương trình Java, giờ đây người ta chỉ cần tạo một trang HTML, thêm các thẻ tựa XML (XML - like tags) và nếu cần thiết sử dụng thêm các đoạn scriptlet Bằng việc hỗ trợ các thư viện customized tag và mô hình phát triển dựa trên thành phần (component - based development), JSP không chỉ làm giảm công sức phải bỏ ra của những người phát triển mà nó còn cung cấp một
cơ sở vững chắc cho các công cụ phát triển
+ Tận dụng được những thành phần có thể dùng lại (reusable components) Hầu hết các trang JSP đều dựa trên những thành phần xuyên nền(cross - platform components) có thể dùng lại ( các thành phần JavaBeans hay Enterprise JavaBeans) để thực hiện những xử lý nghiệp vụ phức tạp
+ Tách biệt nội dung với giao diện
Với công nghệ JSP, người phát triển sử dụng các thẻ HTML hay XML để thiết kế giao tiếp trang Web, các thẻ JSP hay các đoạn scriptlet để phát sinh nội dung động của trang (nội dung này phụ thuộc vào yêu cầu của user) Các xử lý phát sinh nội dung được đóng gói trong các thẻ hay thành phần JavaBeans và được liên kết lại trong scriptlet, sau đó được thực hiện ở Server
+ Đơn giản hoá quá trình phát triển với các thẻ
JSP
Trang 19HTTP/HTML/XML
JDBC
Web page developer không phải lúc nào cũng là một lập trình viên thông thạo với ngôn ngữ Script Công nghệ JSP đóng gói nhiều chức năng cần thiết trong việc phát sinh nội dung động ở dạng dễ sử dụng, các JSP - specific XML tag Các thẻ JSP chuẩn có thể truy suất và khởi tạo những thành phần JavaBeans, thiết lậphay nhận về giá trị của thuộc tính, download applet, và thực hiện những xử lý mà nếu viết code sẽ khókhăn và mất nhiều thời gian Công nghệ JSP có thể mở rộng thông qua sự phát triển của các customized tag library Hiện nay đã có khá nhiều các thư viện loại này Từ đó giúp người phát triển trang Web có thề làm việc với những công cụ quen thuộc khi thực hiện những xử lý phức tạp
III.MÔ HÌNH ỨNG DỤNG DÙNG CÔNG NGHỆ JAVA SERVER PAGES (JSP)
Một trang JSP sẽ được sử lý bởi một JSP Engine(được cài đặt trên Web Server hay Application Server hỗ trợ công nghệ JSP ) JSP Engine nhận yêu cầu từ Client đến trang JSP và phát sinh những phản hồi từ trang JSP nhận về Client
Những trang JSP được biên dịch thành JavaServlets JavaServlets là một sự
mở rộng của Java chuẩn Do đó các nhà phát trển có thể truy xuất đến môi trường ứng dụng Java đầy đủ với tất cả các sức mạnh và sự linh động vốn có của họ Java
Khi một trang JSP được gọi lần đầu tiên nếu chưa tồn tại sẽ được biên dịch thành một Servlet class và được lưu trữ trong bộ nhớ của Server Điều này cho phép
sự hồi đáp nhanh chóng đối với những yêu cầu tiếp theo đến trang này
Trang JSP có thể sử dụng trong nhiều kiến trúc khác nhau và cũng có thể kết hợp với các Protocol, Components khác nhau Một vài mô hình có thể có
III.1.Mô hình ứng dụng đơn giản
Trong một ứng dụng đơn giản Browser sẽ trực tiếp gọi trang JSP Đến lượt trang này lại phát sinh một yêu cầu (có thể thông qua JDBC để nhận thông tin từ Database) nhằm tạo ra kết quả đáp ứng yêu cầu của Browser Sau đó tạo ra trang HTML chuẩn và gửi trả trang này về cho Browser
Ưu điểm :
Giúp việc lập trình đơn giản và nhanh chóng
Dể dàng phát sinh nội dung dựa trên yêu cầu và trạng thái của tài nguyên
Database
Trang 20VD: Nếu một trang JSP truy Xuất một Database, nó có thể tạo ra nhiều kết nối đến Database, dẫn đến ảnh hưởng đến hiệu suất của Database
III.2.Mô hình kết hợp với Java Servlet:
Trong mô hình này từ máy Client gởi yêu cầu trực tiếp đến Java Servlet phát sinh nội dung động, đóng gói kết quả có được vào trong Bean tiếp thao gọi trang JSP Trang JSP sẽ truy cập nội dung động của Bean và gởi kết quả (dữ liệu HTML)
về cho Web Browser Phương pháp này tạo nên nhiều tàhnh phần có thể dùng lại và chia sẽ giữa nhiều ứng dụng
III.3 Kết hợp với Enterprise JavaBean
Trang JSP cũng có thể hoạt động như một tầng giữa trong kiến trúc Enterprise JavaBean Trong trường hợp này trang JSP tương tác nhiều tài nguyên dựa vào thành phần Enterprise JavaBean
Thành phần Enterprise JavaBean quản lý việc truy cập đến những tài nguyên, cung cấp khả năng tính toán với hiệu suất cao trong trường hợp có nhiều người sử dụng đồng thời truy cập Trong thương mại điện tử hay những ứng dụng khác, Enterprise JavaBean thường được sử dụng để quản lý giao dịch và bảo mật Khả năng này làm cho trang JSP được đơn giản Đây là mô hình được hổ trợ bởi Java 2 Platform Enterprise Edition (J2EE)
IV.CÁC ĐỐI TƯỢNG CƠ BẢN TRONG JSP:
Trang 21IV.1 Khái niệm về các đối tượng (Object) : Trong JSP Container có chứa sẵn những đối tượng để thuận tiện cho việc sử dụng, người lập trình không phải mất thời gian tạo ra các đối tượng này trong những đọan Scriptlet riêng Trong JSP, người ta thường gọi là những đối tượng ẩn (implicit object)
IV.2 Đối tượng request: Dùng để chứa những yêu cầu từ phía khách (Client) thường nhận những tham số từ phía Client gửi lên Server Là phần tử của lớp con của javax.serverlet.serverletRequest có các phương thức hay sử dụng là getParameterNames(), getParamter(), getParameterValues()
Ví dụ: request.getPrameter(“MaHS”); // câu lệnh này sẽ nhận tham số là MaHS do Client gửi đến Server
IV.3 Đối tượng out: Dùng để xuất các thông tin ra màn hình của trang duyệt Thay vì với màn hình ở chế độ console, Java sử dụng đối tượng out của lớp System Ơ đây - với scriptlet Java- sử dụng đối tượng out để có tác động giống như việc hiển thị văn bản giống như Web Đây là đối tượng của lớp javax.servlet.jsp.Writer Với các hàm clear(), clearBufer(), flush(), getBffer(), getRemaining()
Ví dụ: out.print(“Chào các bạn !”); //câu lệnh này sẽ xuất ra màn hình câu : Chào các bạn !
IV 4 Đối tượng session: Là một phiên làm việc giữa trình duyệt và Web Server Phiên làm việc tính từ thời điểm mở trình duyệt cho đến lúc đóng trình duyệt
Biến session là biến tồn tại trong một phiên làm việc Do đó khi truy xuất các trang trong một phiên làm việc thì biến session là một biến dùng chung Bằng cách dùng biến session ta không cần gửi dữ liệu đi từ trang này sang trang khác bằng biến hidden Để tạo biến session Java cung cấp đối tượng session có các phương thức sau
public void setAttribute(String name, Object value)// tạo biến session tên là name, giá trị là value
public Object getAttribute(String name)// lấy giá biến session tên name Nếu giá trị không tồn tại sẽ trả về null
public void removeAttribute( String name)// hủy biến session tên name invalidate() //hủy tất cả biến session
IV.5 Đối tượng application: là biến dùng chung cho mọi phiên làm việc Tất cả các trang ở mọi phiên làm việc khác nhau đều có thể truy cập đến application Java cung cấp đối tượng application để quản lý các biến application Đối tượng application cũng có các phương thức giống như session
IV.6 Đối tượng cookie: Là biến được lưu trữ ở máy client trong khi biến session và application được lưu trữ ở server Biến cookie cũng giống như biến session Tức là mặc định chỉ tồn tại trong một phiên làm việc Các phương thức để
xử lý biến cookie là:
Cookie c=new Cookie(String name, String value) //tạo biến cookie tên name, giá trị là value
Response.addCookie(c) // ghi biến cookie vào máy client
c.setMaxage(n) // đặt thời gian sống cho biết cookie là n giây Nếu không đặt thời gian sống, biến cookie sẽ bị hủy khi đóng trình duyệt
Trang 22Cookie []cs=request.getCookie();// lấy tất cả các biến cookie Khi trình duyệt gửi yêu cầu lên Web Server, các biến cookie sẽ tự động được gửi theo
Cs[i].getName();// lấy tên biến cookie thứ i
Cs[i].getValue();// lấy giá trị biến cookie thứ i
IV.7 Đối tượng response: Đối tượng này cho phép phản hồi thông tin xử lý
từ trình chủ trở về trình duyệt Hầu hết ứng dụng thông thường của đối tượng response là dùng để xuất HTML ra trình duyệt khách (Client Browser) Thực ra đối tượng response thường gọi phương thức response.getWrite() để thực hiện kết xuất
Các phương thức response thường dùng như sau:
response.senRedirect(“login.jsp”);// liên kết trực tiếp đến trang login.jsp response.setContenType(“text/html”);// định dạng xuất dữ liệu ra dạng văn bản hay html
response.getOutStream()// lấy dữ liệu trong vùng đệm (buffer) nhờ OutputStream
IV.8 Đối tượng config: Đối tượng này tượng trưng cho lớp Sercletconfig được định nghĩa là đối tượng tạo bởi servlet chứa các thông tin cấu hình của servlet Với thông tin cấu hình này servlet sẽ truy cập đối tượng ServletContext
Trong nhiều trường hợp chúng ta không cần sử dụng đối tượng config Truy cập đến ServletContext thông qua đối tượng application cũng sẽ đạt được mục đích tương tự
IV.9 Đối tượng Exception: Đối tượng này chỉ tồn tại trong trang xử lý lổi (error pagers) Nó dùng để tham chiếu đến nguyên nhân gây ra lổi mà trang error có liên quan
I.GIỚI THIỆU KHÁI QUÁT VỀ SQL SERVER 2000:
Microsoft SQL Server 2000 là một công cụ thiết kế và xây dựng cơ sở dữ liệu có tính thực thi cao Nó cho phép thích ứng theo qui mô đi từ một mạng cục bộ LAN (local area network) ở phòng ban cơ quan xí nghiệp nâng dần lên mạng diện rông WAN (wide area network) của một số tổng công ty với nhiều chi nhánh trên toàn quốc hoặc trên toàn thế giới SQL Server duy trì một số tập tin CSDL (cơ sở
dữ liệu) cốt lõi dành cho những ứng dụng tự tạo sử dụng ngôn ngữ lập trình triển khai như : ASP, JSP, Visual Basic, Visual C++…
SQL Server là một hệ thống CSDL Window 32 bit, nên tận dụng được những lợi ích do việc hội nhập chặt chẽ của hệ điều hành Windows NT đem lại Với những CSDL qui mô nhỏ, SQL Server có thể chạy trên những hệ điều hành Win 9x với dung lượng RAM tối thiểu 32 MB Đối với những CSDL qui mô lớn, SQL Server
có thể tận dụng sự hổ trợ của Win NT
Trang 23Trang 11
Đây là hệ quản cơ sở dữ liệu mạnh có tính mở, đáng tin cậy, là hệ thống theo qui mô Client/Server và có thể phát triển theo qui mô phân tán một cách dể dàng
Các công cụ MS SQL Server cung cấp đó là :
1 Giải quyết tình trạng va chạm giữa các user khi cùng truy cập một dữ liệu tại cùng một thời điểm
2 Đảm các ràng buộc toàn vẹn trên cơ sở dữ liệu
3 Bảo vệ các ràng buộc toàn vẹn trên cơ sở dữ liệu
4 Bảo vệ an toàn cơ sở dữ liệu ( quản lý nhiều cấp độ để truy cập vào cơ sở
dữ liệu)
5 Truy vấn dữ liệu nhanh
II.KIẾN TRÚC MẠNG CỦA SQL SERVER :
Kiến trúc kiểu phân tán của SQL Server tách rời các ứng dụng chuyên truy xuất cơ sở dữ liệu ( để làm gì đó trên cơ sở dữ liệu của các tập tin này) khỏi bộ phận được gọi là database engine Phần cốt lỏi của database server của SQL Server sẽ chạy trên một hệ thống NT Server, và hệ thống này sẽ được nối với nhiều hệ thống Client thông qua mạng cục bộ Ethernet hoặc Token Ring Hệ thống Client thường là những máy PC chạy theo phần mềm được gọi là SQL Server SQL Server chấp nhận hổ trợ những hệ thống Client sau đây:
- Windows for workgroups Macintosh
- Windows 9x DOS
- Window NT OS/2
- Remote access server (RSA) UNIX
Bộ phận database engine của SQL Server có thể chạy trên một Windows NT Server hoặc trên Win dows 9x server
Cần có hệ thống mạng Ethernet hoặc Token Ring để nối liền hệ thống Client với hệ thống SQL Server Ngoài ra, SQL Server cung cấp tính độc lập về giao thức (protocol) tương thích với mọi giao thức mạng phổ biến hiện có trên thị trường bao gồm : TCP/IP, NETBEUI, Nowell IPX/SPX, Bayan VINES/IP, DEC PATHWORKS và AppleTalk ADSP của Apple
OLE DB Application
ODBC Application
DB
Library
Transac- SQL
SQL Server SQL Server SQL Server SQL Server
Client Network Library
Network
Trang 24
SQL Server
Hình trên là kiến trúc Client/Server của SQL Server Như ta thấy các ứng dụng Client sử dụng 4 giao diện lập trình API ( Application programming interface) khác nhau mà SQL Server cung cấp để truy cập cơ sở dữ liệu : OLEDB, ODBC, DB_Library và Transac_SQL
Giao diện OLE DB : OLE DB là một giao diện truy xuất cơ sở dữ liệu dựa trên kỹ thuật gọi là COM Nó hổ trợ những ứng dụng được viết để sử dụng OLE DB hoặc những giao diện đối tượng dữ liệu ( data object interface) sử dụng OLE DB như ADO chẳng hạn : OLE
DB được thiết kế để làm việc với cơ sở dữ liệu quan hệ, cũng như với những nguồn dữ liệu không mang tính quan hệ
OLE DB sẽ sử dụng một Provider để có thể thâm nhập vào một số nguồn dữ liệu ( data source) đặc biệt nào đó Những Provider dùng cho SQL Server, Oracle, Jet ( CSDL Access) và ODBC được cung cấp cùng với SQL Server Nếu dùng OLE DB Provider for ODBC có thể dùng OLE DB để thâm nhập vào bất cứ nguồn dữ liệu ODBC nào
Giao diện ODBC : Giao diện ODBC là loại giao diện gọi hàm API
Nó trực tiếp truy xuất nghi thức TDS (Tabular Data Stream) của SQL server và chịu hỗ trợ những ứng dụng hoặc cấu thành được viết dùng ODBC hoặc những giao diện đối tượng cơ sở dữ liệu sử dụng ODBC như DAO hoặc RDO chẳng hạn ODBC được thiết kế để chỉ làm việc với những CSDL quan hệ ODBCsử dụng một trình đạo diễn (driver)
để có thể thâm nhập vào một nguồn dữ liệu đặc biệt nào đó
Các Giao Diện Data Object: nhìn chung giao diện data object dễ dàng hơn là database API nhưng có thể không trưng ra nhiều chức năng như API ADO(AciveX Data Object) là giao diện Data object dùng với OLE DB, còn RDO (Remote data Object) là giao diện data object dùng với ODBC
- ActiveX Data object (ADO): ADO bao trọn những API của OLE DB trong mô hình dữ liệu đơn giản hơn giúp giảm đi công sức triển khai ứng dụng cũng như chi phí bảo trì ADO có thể được dùng
từ mô hình kịch bản đối tượng trên Visual Basic,Visual C++, Visual Foxpro 6,Active server Pages vàInternet Explore
Trang 25- Những DB Library API được dùng trong những phiên bản SQL server đi trước chỉ là để cung cấp sự tương thích về trước chứ không hỗ trợ chưc năng mới trên SQL server 7.0 Đối với những Client sử dụng Windows, tất cả các giao diện API kể trên đều được thi công dưới dạng thư viện và chúng liên lạc với SQL thông qua thư viện mạng Client (Client network library) Thư viện này dùng phương pháp IPC (interprocess communication) để liên lạc xuyên mạng đến thư viện Server (Server network library) trên hệ thống SQL Server
Server network library sẽ nhận những bó dữ liệu (data packet) gửi đi từ hệ thống Client, rồi chuyển cho bộ phận Open data server(ODS) của SQL server ODS là một giao diện API nằm ở phía Server thường gồm một số hàm C++ và macro Bản thân SQL server
là một ứng dụng ODS chấp nhận những triệu gọi ODS, xử lý các triệu gọi này rồi trả kết quả về cho ODS Ta có khả năng triển khai ứng dụng sử dụng ODS API, nhưng điển hình ODS API chỉ dùng để cung cấp “ngõ nối tự tạo”(custom geta) đi vào các hệ thống CSDL không đồng nhất bởi những giao diện ODBC API và OLE DB API xem ra dễ sử dụng, nên ta không nên dùng đến ODS
III.CÁC CẤU THÀNH CƠ BẢN CỦA SQL SERVER:
SQL server được cấu thành bởi 4 bộ phận cơ bản, nhìn theo cấp cao nhất là: Open Data Server (ODS), MSSQL Server, SQL Server Agent và MSDTC (Microsoft Distributed transaction Coordinator)
Open Data Server: Cung cấp một giao diện như : thư viện mạng server (server network library) và SQL server engine (MSSQL Server) Cấu thành này giải quyết những đầu nối mạng, chuyển yêu cầu của Client cho SQL Server để xử lý rồi trả về bất kỳ kết quả gì cho SQL Server Client ODS tự động nghe tất cả các server network library được cài trên server
MSSQL Server: Gồm những dịch vụ lo quản lý tất cả các tập tin thuộc thành phần SQL server database Nó chịu trách nhiệm xử lý các câu lệnh SQL cũng như cấp phát các nguồn lực hệ thống
SL Server Agent: SQLServer Agent là dịch vụ hoạt động phối hợp với MSSQL server cho phép thực hiện những công tác như: quản lý báo động (*alert management), thông tri (notification), thi hành “công
MSDTC SQL Server Agent MSSQL Server Open data server
Trang 26cụ”, (jpb execution) và nhân bản (replication) Các công tác này sẽ được đề cập chi tiết sau đây:
- Alert Managemnet:Alert cung cấp thông tin liên quan đến tình trạng của một tiến trình, chẳng hạn khi một job được hoàn tất hoặc khi một sai lầm xảy ra Alert là một hành động phải thực hiện đáp ứng một tình huống cụ thể Một Alert có thể được dàn dựng để thực hiện những công tác khác nhau như cho chạy job, hoặc phát đi e-mail SQL Server Agent hướng dẫn trình “application event log” theo dõi các tình huống và phát sinh Alert dựa trên những tình huống này
- Notification: SQL Server Agent có thể gửi đi những thông điệp email báo tin cho một điều hành viên hoặc khởi động một ứng dụng khác khi Alert xảy ra
- Job execution: SQL Server Agent bao gồm một trình tạo job
và lịch bố trí các job của SQL Server cũng như Alert (báo động) Theo định nghĩa của SQL Server : job là đối tượng có sẵn gồm một hoặc nhiều bước đòi hỏi phải được bố trí Bạn có thể tạo những bước
sử dụng transac- SQL, ngôn ngữ kịch bản hoặc lệnh hệ điều hành
- Replication Management: replication là một tiến trình nhân bản dữ liệu hoặc giao dịch từ một SQL Server này sang một SQL Server khác SQL Server Agent chịu trách nhiệm việc nhân bản này bằng cách đồng bộ hoá dữ liệu các server, điều khiển việc nhập từ dữ liệu hoặc nhân bản thông tin lên các server khác
Microsoft Distributed transaction Coordinator(MSDTC)
Bộ phối hợp giao dịch phân tán Đây là bộ phận quản lý giao dịch chịu trách nhiệm điều phối giao dịch CSDL giữa các server MSDTC cho Client bao gồm dữ liệu từ nhiều nguồn dữ liệu lên một giao dịch MSDTC phối hợp việc hoàn tất thích ứng những giao dịch phân tán đảm bảo tất cả các nhật từ trên tất cả các server phải là vĩnh viễn hoặc trong trường hợp sai lầm thì tất cả các thay đổi sẽ bị hủy bỏ Điều này dùng tất cả các tiến trình được gọi là “two phase commit” MSDTC có thể được triệu gọi bởi SQL Server database engine, hoặc trực tiếp bởi ứng dụng client
IV.TRANSACT- SQL:
SQL (Structured Query language) là một ngôn ngữ vấn tin được phát triển ban đầu bởi IBM vào đầu thập niên 70 và đã trở thành một ngôn ngữ vấn tin CSDL chuẩn với những CSDL SQL server dùng một ngôn ngữ SQL gọi là Transac - SQL Phần lớn các ANSI SQL chuẩn đều chấp nhận Transac - SQL này
Transac - SQL được dùng phổ biến trong các công tácquản lý CSDL, chẳng hạn tạo ra và loại bỏ những bản dữ liệu và những cột, cững như viết những kích hoạt (triggers) và thủ tục sẵn (Stord Procedure) Ngoài ra bạn cũng có thể sử dụng Transac - SQL để thay đổi cấu hình của SQL Server, hoặc bạn có thể tương tác với trình tiện ích Graphic QueryAnalyer để thực hiện những truy vấn
V.KIẾN TRÚC CỦA SQL SERVER DATABASE:
Trang 27SQL Server
Database
Object
Tables Columns Indexes
Views Constraints Rules Defauts Triggers Stored Procedures V.1 Những Server:
Cốt lõi của kiến trúc CSDL của SQL server là server hoặc còn gọi là database engine Database engine là một chương trình Windows NT 32 bit chịu trách nhiệm xử lý những yêu cầu cung cấp dữ liệu vừa vào đến và trả về kết quả thích ứng cho hệ thống client SQL Server tận dụng những lợi điểm của kỹ thuật như đa nhiệm ưu tiên, bộ nhớ ảo và xuất nhập không đồng bộ và thành phần của hệ điều hành Windows NT Database engine của SQL server có thể chạy trên những sàn diễn phần cứng khác nhau
V.2 Những cơ sở dữ liệu:
Mỗi SQL Server thường chứa nhiều CSDL, theo đấy mỗi CSDL được duy trì trên 1 hoặc nhiều tập tin hệ điều hành (OS - Operating system file) Nhiều CSDL trên một tập tin OS riêng biệt là thuộc tính mấu chốt cho phép những cơ sở dữ liệu trên SQL server có thể co giãn linh động
V.3 Database Object:
Mỗi CSDL SQL server còn bao gồm những đối tượng khác được dùng đến trong việc lưu trữ dữ liệu và tổ chức dữ liệu Các đối tượng của CSDL SQL Server bao gồm: tables, columns, Views, Constraints, Rules, Defaults, Triggers, Strored Procedureds, Extend Strored Procedured
Tables (bảng dữ liệu): Mỗi CSDL trên SQL Server đều chứa một hoặc nhiều bảng dữ liệu (Tables) Đối tượng bảng dữ liệu (Data Storage) của SQL Server Một bảng dữ liệu thực chất là một dãy cột (colunms) có tổ chức Mỗi dãy cột được qui chiếu như là một hàng (Rows) Trên SQL Server có hai loại bảng dữ liệu: bảng dữ liệu hệ thống (system tables) và bảng dữ liệu người dùng (User tables) Bảng
dữ liệu hệ thống chứa thông tin liên quan đến SQL Server với những đối tượng khác nhau, trong khi bảng dữ liệu người dùng thì chứa các
dữ liệu thuần tuý Các bảng dữ liệu hệ thống được đặt tên với tiền (phần đầu) “sys” (System)
Columns (cột): bảng dữ liệu thường gồm một lô những cột dữ liệu có liên hệ với nhau Cột là những mục tin (data item) tượng trưng cho một thuộc tính (Property) của bảng dữ liệu
Indexes (chỉ mục): các chỉ mục trên SQL server được dùng để tối ưu hoá tốc độ truy xuất dữ liệu Nếu không có chỉ mục, mỗi lần người
Trang 28dùng chọn một loạt hàng trên một bảng dữ liệu nào đó thì phải tra cứu
từ đầu đến cuối bảng Điều này không hay, chỉ mục sẽ loại trừ việc tra cứu từ đầu bảng và cho phép trình bày dữ liệu theo nhiều tổ chức thay thế khác nhau hữu hiệu hơn Người ta tạo chỉ mục bằng cách chọn một số cột nào đó để nhận diện một tập hợp con dữ liệu Một chỉ mục
là một đối tượng CSDL riêng biệt tách khỏi bảng dữ liệu nguyên thủy SQL Server sử dụng clustered và nonclustered
Views (bảng nhìn): trên SQL server bảng nhìn là một bảng dữ liệu ảo (virtual table) Hiện thời một View không hiện hữu như là một bảng
dữ liệu riêng lẻ, đúng ra nó là nơi lưu trữ những câu lệnh select qui chiếu về một hoặc nhiều bảng dữ liệu cơ sở Một View có thể được dùng nhiều chức năng khác nhau ta có thể truy vấn View như bảng dữ liệu bình thường hoặc có thể nhặt từ View miễn là công tác nhập chỉ ảnh hưởng một bảng dữ liệu đơn chiếc mà thôi
Constraints (những ràng buộc): Trên SQL Sever những ràng buộc bảo đảm tính toàn vẹn dữ liệu (Data integrity) đối với các bảng cũng như đối với cột dữ liệu Thông thường, các ràng buộc được thêm vào khi một bảng dữ liệu được tạo ra, và còn được khai báo ở cấp bảng hoặc cột SQL Server còn chịu 5 loại ràng buộc: Primary key, Foreign key, Unique key, Check, not Null
Rules (Các qui tắc) : Các qui tắc cũng gần giống như ràng buộc trong việc hạn chế giá trị có thể gõ vào một cột, tuy nhiên khác với ràng buộc là đặt ra một trách nhiệm khá đơn giản về giá trị, một qui tắc có thể hạn chế những giá trị dữ liệu dựa trên một biểu thức điệu kiện (Condition expression) hoặc một danh sách các trị Ngoài ra, Rules không giống như một ràng buộc check, bạn chỉ có thể có một qui tắc cho một cột và các qui tắc SQL Server sẽ được trữ dưới dạng một dối tượng CSDL riêng lẻ, trong khi một cột chỉ có thể gắn với một qui tắc riêng lẻ, thì một qui tắc có lên nhiều cột Các qui tắc có thể áp dụng lên những kiểu dữ liệu tự tạo (user defined)
Defaults (những mặc định): Một mặc định cho biết giá trị tự động được dùng đến, khi một hàng mới được chèn và không có một trị nào được gán rõ cho cột Trị mặc nhiên có thể là một hằng , một hàng, một biểu thức hoặc một biến toàn cục Defaults được áp dụng khi một bảng dữ liệu được tạo ra
Triggers (những kích hoạt ): một kích hoạt là một thủ tục lưu trữ tự động được thi hành khi một bảng dữ liệu bị thay đổi sử dụng các tác
vụ Update, Insert hoặc Delete giống như một thủ tục lưu trữ sẵn Một trigger thường chứa một lô câu lệnh transac - SQL Trigger thường để tăng cường những qui tắc toàn vẹn qui chiếu tinh vi hơn là qui tắc DLI
Stored Procedure (thủ tục lưu trữ sẵn ): Stored Procedure là một nhóm câu lệnh transac - SQL được biên dịch thành kế hoạch thi hành đơn lẻ và lúc thủ tục trữ sẵn được tạo ra Đây là công cụ mạnh và uyển chuyển dùng thi hành các hàm khác nhau về quản lý hành chính
và thao tác dữ liệu chẳng hạn như tạo ra những bảng dữ liệu, cấp phép
Trang 29ưu hoặc nhập từ CSDL theo nhiều bước Trong khi bản thân SQL server không thiên về thủ tục, điều này cho phép thủ tục trữ sẵn của SQL Server chức logic phức tạp thực hiện rất khác nhau Khi thủ tục trữ sẵn được biên dịch, SQL tối ưu hoákế hoạch truy xuất dữ liệu mà
sẽ dùng đến Việc tối ưu hóa này sẽ đem lại hiệu năng hơn cho thủ tục trữ sẵn Nó có thể trả về những thông số kết quả và những đoạn mã hoặc tạo ra những cursor Một thủ trữ sẵn đơn chiếc có thể được chia
sẻ cho nhiều người dùng
CHƯƠNG IV :
JDBC VÀ VIỆC KẾT NỐI CƠ SỞ DỮ LIỆU
- -
I.MỞ ĐẦU :
Ngày nay, khi đề cập đến việc xây dựng những chương trình máy tính, người
ta thường đề cập đến những ứng dụng chạy trên môi trường Web Thực chất là viết những chương trình dạng Client/Server trên các mạng Intranet/Internet Các chương trình làm việc không chỉ giới hạn trên một máy đơn mà còn phân tán trên nhiều máy đặt ở nhiều vị trí khác nhau Các hệ thống được xây dựng trên nền tản kiến trúc như vậy được gọi là những hệ thống thông tin nhiều tầng hay còn gọi là đa tầng (Multitier Information Systems) Khi đó, từ Client với Web Browser ta chúng ta có thể truy cập đến những Server chứa cơ sở dữ liệu (Database Server) được điều khiển bởi Web Server
Trên thế giới người ta đã thống kê khoảng 80% những ứng dụng máy tính đều liên quan đến cơ sở dữ liệu Chính vì vậy, việc nghiên cứu cơ sở dữ liệu và cách kết nối chúng để khai thác dữ liệu luôn là vấn đề hết sức thiết thực Với Java, ngôn ngữ phát triển hướng về mạng Intranet/Internet, vì vậy việc tìm hiểu cách truy cập đến các cơ sở dữ liệu đặt ở vị trí hình học xa nhau là một phần không thể thiếu
Sử dụng Java với việc truy cập các cơ sở dữ liệu chúng ta có thể xây dựng những trang Web mang tính “động” hơn
II.KẾT NỐI CƠ SỞ DỮ LIỆU :
II.1 Các trình điều khiển JDBC :
Trên mô hình Client/Server chúng ta cần một Database Client để truy cập đến cơ sở dữ liệu được quản lý bởi một Database Server Các Database Client chính
Trang 30là những chương trình do người sử dụng viết, hoặc một hệ quản trị cơ sở dữ liệu mà người sử dụng dùng trong việc truy vấn dữ liệu Database Server này chính là một
hệ quản trị cơ sỡ dữ liệu (DBMS_Database Management Server) Một Database Client chỉ truy cập đến Database Server tương ứng với nó Tuy nhiên, trong Window do ngày càng có nhiều Database Server khác nhau chẳng hạn như : Oracle, Sql Server, MySQL, FoxPro, Access… Từ đó hãng Microsoft đa đưa ra một trình điều khiển chuẩn để kết nối giữa Database Client với một Database Server bất kỳ gọi là ODBC Driver (Open Database Connectivity Driver) làm việc trên môi trường Windows Chương trình điều khiển này gọi là ODBC Data Source Administrator để quản trị các cơ sở dữ liệu trên Windows, người sử dụng kết nối mà không phải quan tâm đó là hệ quản trị cơ sở dữ liệu nào Mỗi hệ cơ sở dữ liệu phải cung cấp một ODBC Driver tương ứng kèm theo để qua đó người sử dụng có thể truy cập đến cơ
sở dữ liệu được tạo ra
Khi người sử dụng dùng ngôn ngữ Java để xây dựng các Database Client cho riêng mình, nhưng do Java có thể làm việc trên các nền tảng hệ điều hành khác nhau Trình điều khiển ODBC không thể đáp ứng được theo hướng làm việc của ngôn ngữ Java Chính vì vậy hãng Sun phải đưa ra một trình điều khiển tương tự ODBC gọi là JDBC (Java Database Connectivity) để cho phép từ Database Client được viết bằng Java có thể truy cập đến cơ sở tùy ý nào đó
Đặc điểm của JDBC Driver là một gói viết bằng Java như những gói khác Trường hợp dùng Applet để truy cập cơ sở dữ liệu, trình điều khiển JDBC sẽ được nạp vào máy sẽ được nạp vào máy Client khi chương trình thực thi cùng với Applet Khi đó, Applet có thể truy cập cơ sở dữ liệu ngay cả khi cần truy cập cơ sở dữ liệu tên máy Client bởi Applet, chúng ta cũng có thể thực hiện bằng cách dùng JDBC Driver của máy Client này
Hãng sun đưa ra 4 loại trình điều khiển JDBC khác nhau :
Loại I : Trình điều khiển JDBC-ODBC, đây là trình điều khiển sử dụng trình điều khiển ODBC của Microsoft để kết nối cơ sở dữ liệu từ Java Với trình điều khiển này chúng ta có thể truy cập đến các cơ sở dữ liệu trên máy với hệ điều hành Windows Chương trình Java nhanh chóng làm việc được với các dữ liệu thông qua trình điều khiển ODBC của Microsoft có sẵn Người ta gọi đây là cầu nối (Bridge Driver) giữa JDBC
và ODBC Khi dùng trình điều khiển này, ràng buộc là trên máy Client phải có trình điều khiển ODBC
Lọai II : Trình điều khiển JDBC truy cập cơ sở dữ liệu thông qua giao thức đặc thù của cơ sở dữ liệu với một phần Java (Native_API partly Java driver) Nói cách khác trình điều khiển do hãng làm ra hệ quản trị cơ sở
dữ liệu cung cấp Đây là cách truy cập đến cơ sở dữ liệu bằng Java như cách liên lạc thông qua Database Client Tuy nhiên, do trình điều khiển này có một phần không phải mã byte, nên khi sử dụng trên máy Client cũng phải có giao thức đặc thù của loại cơ sở dữ liệu
Loại III : Trình điều khiển hoàn toàn bằng Java dùng giao thức chuẩn (JDBC-Net pure Java driver) Với trình điều khiển này chúng ta có thể dùng nó để truy cập đến một cơ sở dữ liệu bất kỳ như là một cầu nối giữa Database Client với một Database Server, để đóng vai trò của một Database Access Server Trình điều khiển này giống như JDBC - ODBC,
Trang 31nhưng sự khác biệt là trình điều khiển này hòan tòan bằng Java, nên độc lập với hệ điều hành Chính vì vậy không nhất thiết phải có Windows trên Client và Server
Loại IV : Trình điều khiển hòan tòan bằng Java dùng giao thức đặc thù (Native Protocol pure Java drive) Đây là trình điều khiển tương tự loại
có một phần Java, nhưng ở đây chương trình điều khiển được viết hòan tòan bằng Java (dạng mã byte), nên không cần phải có gì trên Client như loại III Cũng tương tự loại II, đây là trình điều khiển của hãng làm ra cơ
sở dữ liệu cung cấp nhằm để cho một chương trình Java nhanh chóng kết nối với cơ sở dữ liệu
Hai loại I, II mang tính chắp nối để nhanh chóng dùng Java với các trình điều khiển khác không phải Java Đây không phải là giải pháp tốt cho ứng dụng Java Những người viết chương trình kết nối và các nhà sản xuất Database Server đã nhanh đưa ra các trình điều khiển thuần hoàn toàn bằng Java (pure Java) Hai loại III và IV giúp phát triển những ứng dụng trên Java mang đầy đủ bản chất Java là không phụ thuộc hệ thống, viết một lần chạy mọi nơi (write once, run anywhere) như khẩu hiệu của Java thường đưa ra Đặc điểm của loại I và II là không phụ thuộc vào hệ quản trị cơ sở dữ liệu, khi đó phải có một chương trình điều khiển đứng giữa làm cầu nối trung gian, chẳng hạn như ODBC Driver của Microsoft hoặc IDS Server
II.2 Sử dụng trình điều khiển jdbc :
Ơ đây sử dụng trình điều khiển loại I Giả sử rằng máy chúng ta là Windows 9x hay NT, 2000, xp Các bước sau sẽ hướng dẩn cách khai báo thành phần ODBC trong Windows xp Đây cũng là thao tác các bước cần thực hiện để kết nối cơ sở dữ liệu của đề tài này
Giả sử chúng ta đặt tên nguồn dữ liệu (Datasource Name) là QLDiemTHPTL, cơ sở dữ liệu SQL Server cũng mang cùng tên QLDiemTHPTL (không nhất thiết phải cùng tên) tên đăng ký nhập login của người (user) dùng và mật khẩu (password) là tùy ý vàcũng có thể bỏ qua không đặt
Các bước cấu hình ODBC trong Windows xp sẽ phải thực hiện như sau:
1 Vào Cotrol Panel của Windows xp, chọn biểu tượng Administrative Tools -> Data Source (ODBC)
2 Chọn System DSN và chọn nút Add Màn hình gồm danh sách các Driver sẽ hiển thị Chúng ta chọn SQL Server, sau đó nhấn nút Finish
3 Đặt Data Source la Đi QLiemTHPTL và chọn Server Name là tên máy chủ nơ đặt cơ sở dữ liệu (computername/ servername/ ip address của máy), phần mô tả(Description) của Data Source có thể bỏ qua Sau đó nhất nút Next
4 Nhập vào Login ID: sa và password Có thể bỏ qua Password Để Login vào SQL Server cần phải kiểm tra lại Client Configuaration, chọn giao thức kết nối chuẩn trong hệ Windows xp là TCP/IP
5 Ưng với Username và Password, chúng ta được chọn cơ sở dữ liệu mặc định để đáp ứng ngay khi đăng nhập Ơ đây chúng ta chọn QLDiemTHPTL mhấn nút Next
Trang 326 Chúng ta có thể lkiểm tra kết nối thành công hay không bằng cách nhấn vào nút Test cuối cùng nhấn nút Finish
Các bước trên được thực hiện cụ thể như sau:
Vào Control Panel của Windows xp Administrative Tools -> Data Source (ODBC)
Để tạo Database Source Name (DNS) trong Control Panel ta thực hiện các bước sau :
1 Chọn System DNS như hình :
2 Nhấn nút Add để thêm mọt DNS mới Chọn trình điều khiển là SQL như hình
Trang 33Chọn trình điều khiển SQL Server 3.Nhập vào tên DNS là QLDiemTHPTL và chọn Sever là local như hình sau, sau
đó nhấn nút Next:
Nhập tên Name và chọn Server
4 Cọn Login ID và Password để đăng nhập vào cơ sở dữ liệu SQL như hình
Trang 34Kiểm traClient Configuration
Chọn giao thức TCP/IP
5 Để thay đổi cơ sở dữ liệu chọn Change the default database va chọn cơ sở dữ liệu
là qlydiem Sau đó nhấp Next:
Trang 35Thay đổi cơ sở dữ liệu mặc định để truy cập
6 chọn Test Data Source để kiểm tra kết nối thành công
Trang 36PHẦN B
- -
Trang 37Mỗi khối có nhiều lớp học
I 1.Qui trình quản lý điểm của trường THPT :
- Học sinh nộp hồ sơ cho ban giám hiệu Sau khi nhà trường tổ chức thi tuyển sinh, những học sinh trúng tuyển được ban giám hiệu nhà trường sắp xếp và chia thành các lớp, mỗi lớp không quá 55 học sinh và phân công giáo viên giảng dạy cho tất cả các lớp này Ban giám hiệu giao toàn bộ hồ sơ của những học sinh trúng tuyển cho nhân viên quản lý hồ sơ để nhập vào máy tính
- Nhân viên quản lý hồ sơ tiến hành nhập hồ sơ học sinh và xếp lớp theo danh sách của ban giám hiệu
- Một học sinh được học trong một lớp thuộc một khối của một niên khoá nhất định
- Giáo viên bộ môn tự nhập điểm vào máy tính theo từng lớp của những môn học đã được phân công
+ Đối với điểm kiểm tra 15 phút (KT15) kiểm tra 1 tiết (KT1T) và thi học kỳ phải nhập điểm vào máy tính sau 1 tuần kể từ ngày cho học sinh kiểm tra hoặc thi học kỳ, những học sinh không có bài kiểm tra được cho điểm 0
+ Đối với điểm kiểm tra miệng sẽ được nhập vào máy sau khi kết thúc môn học của một học kỳ
- Giáo viên chủ nhiệm kiểm tra điểm của tất cả các các môn của lớp mình phụ trách Sau khi việc tính điểm và xếp loại học sinh hoàn tất giáo viên chủ nhiệm cần phải báo cáo một số vấn đề sau:
+ Bảng tổng hợp về kết quả học tập của các môn học theo từng học kỳ và cả năm học
+ Bảng tổng hợp về xếp loại học lực của từng học kỳ và cả năm học
I 2 Công thức tính điểm và xếp loại học lực:
a Tính Điểm:
- Các loại điểm :
Trang 38cot cot
) 2 1 ( 15
T KT KT
KTM
Tx KT KT
* (TBKT DIEMTHI
- Điểm trung bình môn học học kỳ 2
TBMK2 =
3
) 2
* (TBKT DIEMTHI
- Điểm trung bình môn cả năm học (TBMCN)
TBMCN =
3
2
* 2
* (
) 2
* (
* (
) 2
* (
TBHK1 >=5,0 and TBMK1 >=3,5 :xếp loại Trung bình
TBHK1 >=3,5 and TBMK1>=2,0 :xếp loại yếu
Còn lại xếp loại kém
- Xếp loại học lực HK2 :
TBHK2 >=8 and TBMK2 >=6,5 :xếp loại Giỏi
TBHK2 >=6,5 and TBMK2 >=5,0 :xếp loại Khá
Trang 39TBHK2 >=3,5 and TBMK2>=2,0 :xếp loại yếu
Còn lại xếp loại kém
- Xếp loại học lực cả năm học :
TBCN >=8 and TBMCN >= 6,5 :xếp loại Giỏi
TBCN >=6,5 and TBMCN >= 5,0 :xếp loại Khá
TBCN >=5,0 and TBMCN >= 3,5 :xếp loại Trung bình
TBCN >=3,5 and TBMCN >= 2,0 :xếp loại yếu
Còn lại xếp loại kém
II QUI TRÌNH NGHIỆP VỤ :
Nhà quản trị là người duy nhất có quyền cập nhật cơ sở dữ liệu Nhà quản trị
có thể thực hiện các chức năng quản lý, báo cáo sau khi đăng nhập hệ thống thành công
Giáo viên bộ môn có quyền nhập và cập nhật điểm của môn được phân công giãng dạy
Học sinh có thể thực hiện chức năng xem điểm của từng môn học, từng học
kỳ theo mã học sinh Ngoài ra học sinh cũng có thể xem bảng điểm môn học của lớp mình theo mã lớp
II.1.Chức năng quản lý:
- Quản lý lớp học: Cho phép xem danh sách các lớp thuộc về một niên khóa
đã chọn, thêm một lớp học mới, hiệu chỉnh tên lớp học, xóa lớp học Xóa lớp học thì dữ liệu liên quan thuộc về lớp học này sẽ bị xóa như học sinh, điểm của của sinh thuộc về lớp này sẽ bị xóa
- Quản lý môn học: cho phép xem danh sách môn học theo từng học kỳ, thêm một môn học, hiệu chỉnh, xóa môn học
Thêm môn học nếu là môn học mới thì sẽ được cập nhật vào table (bảng dữ liệu) môn học và chi tiết giảng day để quản lý môn học theo học kỳ Nếu là môn học củ thì chỉ ghi nhận vào table chi tiết đào tạo
- Quản lý hồ sơ học sinh: cho phép xem danh sách học sinh theo lớp, thêm học sinh, hiệu chỉnh Những học sinh bỏ học sẽ được đánh dấu xóa trong quá trình học tập(QTHocTap)
- Quản lý điểm học sinh: cho phép xem bảng điểm của lớp theo môn học, nhập điểm, hiệu chỉnh điểm
- Quản lý giáo viên: Cho phép xem danh sách giáo viên và bảng phân công giáo viên giảng dạy của từng lớp
II.2 Chức năng báo cáo :
- Báo cáo kết quả học tập của tất cả các lớp trong một niên khoá theo từng học kỳ và cả năm học
- Báo cáo danh sách học sinh theo loại học lực của từng lớp
II.3 Chức năng thống kê :
- Thống kê kết quả xếp loại học lực theo từng khối của 1 học kỳ và cả năm học
Trang 40File jsp Thông tin yêu cầu
Kết quả yêu cầu
Server Client
- Thống kê về số lượng học sinh theo từng khối và toàn trường trong một niên khóa
- Thống kê số học sinh bỏ học theo từng theo từng khối và toàn trường của một niên khóa
- Thống kê số học sinh theo loại học lực của từng khối toàn trường
II.4 Chức năng xem điểm :
- Cho phép xem điểm chi tiết của một môn học theo từng lớp
- Xem kết quả học tập theo từng lớp của học kỳ và cả năm học
- Xem các báo cáo và thống kê