BỘ GIÁO DỤC VÀ ĐÀO TẠO
ĐẠI HỌC ĐÀ NẴNG
BÁO CÁO TIỂU LUẬN
MƠN HỌC: LẬP TRÌNH MẠNG
Giáo viên hướng dẫn: PGS. TS Lê Văn Sơn
Học viên thực hiện: TRẦN TẤN NHA
Lớp: KHOA HỌC MÁY TÍNH K24
1
NỘI DUNG BÁO CÁO
1. Giới thiệu Đề tài
2. Giải quyết vấn đề
3. Kết luận
4. Chạy chương trình
2
1. ĐỀ TÀI
Gắn bó dữ liệu trong các CSDL phân tán.
Viết chương trình cho phép cập nhật CSDL và
kiểm tra tính gắn bó.
3
2. GIẢI QUYẾT VẤN ĐỀ
Ngơn ngữ lập trình được sử dụng.
Xây dựng cơ sở dữ liệu.
Xây dựng các chương trình Client, Server, Monitor.
Kiểm tra tính gắn bó.
4
2. GIẢI QUYẾT VẤN ĐỀ
Ngơn ngữ lập trình được sử dụng.
Xây dựng cơ sở dữ liệu.
Xây dựng các chương trình Client, Server, Monitor.
Kiểm tra tính gắn bó.
5
NGƠN NGỮ LẬP TRÌNH
Sử dụng ngơn ngữ Java để xây dựng chương trình.
Java là một ngơn ngữ đơn giản, hướng đối tượng,
phân tán, thông dịch mạnh mẽ, bảo mật, cấu trúc
độc lập, khả chuyển, hiệu quả cao và linh động.
6
XÂY DỰNG CƠ SỞ DỮ LIỆU
Cơ sở dữ liệu được thiết kế khơng nhằm mục đích
quản lý mà chỉ phục vụ cho yêu cầu về cập nhật, tra
cứu thông tin.
Do đó có thể thiết kế rất đơn giản:
Thiết kế cơ sở dữ liệu Books sử dụng hệ quản trị cơ
sở dữ liệu Access.
Cơ sở dữ liệu Books sẽ bao gồm table Books.
Table Books gồm một trường Maso để lưu các mã
số về các cuốn sách.
7
KẾT NỐI CƠ SỞ DỮ LIỆU
Sử dụng đăng kết ODBC
Kết nối cơ sở dữ liệu bằng Java
Nạp trình điều khiển
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver" );
Tạo kết nối
Connection
knoi=DriverManager.getConnection( "jdbc:odbc:DSNThu
Vien");
Tạo đối tượng Statement
Statement lenhSQL = knoi.createStatement();
8
MƠ HÌNH CLIENT/SERVER
9
XÂY DỰNG SERVER (1/2)
Sơ đồ khối cho chương trình chính của Server như sau:
Bắt đầu
Tạo giao diện
Đợi kết nối từ các Client
Sai
Nhận kết nối
Đúng
Tạo một Thread mới kết nối với Client
(MultipleSocketServer)
Kết thúc
10
XÂY DỰNG SERVER (2/2)
Sơ đồ khối cho MultipleSocketServer:
Bắt đầu
Tạo kết nối với CSDL
Nhận thông tin từ Client
Thực thi việc Nhập, sửa, xố, xuất
thơng tin theo thơng tin nhận được
Gửi kết quả về cho Client
Kết thúc
11
XÂY DỰNG CLIENT
Bắt đầu
Tạo giao diện
Kết nối đến Server
Thực hiện yêu cầu thêm, sửa, xoá, xuất trên giao diện
Chuyển yêu cầu đến Server
Nhận kết quả từ Server, xuất kết quả ra màn hình
Kết thúc
12
XÂY DỰNG MONITORING
Bắt đầu
Tạo giao diện
Kết nối đến Server
Thực hiện yêu cầu kiểm tra kết nối, kiểm tra thao tác, thoát
Chuyển yêu cầu đến Server
Nhận kết quả từ Server, xuất kết quả ra màn hình
Kết thúc
13
KIỂM TRA TÍNH GẮN BĨ DỮ LIỆU
(1/3)
Cho một hệ thống cho phép cập nhật thông tin hay
tra cứu thông tin cần thiết.
Thông thường một ứng dụng nhiều người dùng làm
việc với CSDL, ta sẽ gặp phải trường hợp hai người
cùng truy xuất và cập nhật trên cùng một dữ liệu. Ta
gọi đó là trạng thái xung đột. Và khi đó số liệu dễ bị
sai lạc và làm mất tính tồn vẹn, gắn bó của dữ liệu.
14
KIỂM TRA TÍNH GẮN BĨ DỮ LIỆU
(2/3)
Do đó, mỗi khi cập nhật thông tin hay tra cứu thông
tin, phải kiểm tra để xác định quyền truy cập để đọc
hay sửa đổi nội dung các bảng cơ sở dữ liệu . Chỉ cho
phép cập nhật khi khơng có truy vấn nào đang tiến
hành.
Các hệ CSDL có hỗ trợ transaction sẽ sử dụng cơ
chế lock, khoá các khối dữ liệu đang ở trong một
transaction, ngăn không cho các truy cập từ những
người dùng khác.
15
KIỂM TRA TÍNH GẮN BĨ DỮ LIỆU
(3/3)
Tạo Connection
Chấm dứt auto-commit
Các lệnh SQL Update, Insert,
Delete...
Transaction
commit
Các lệnh SQL Update, Insert,
Delete...
Transaction
commit
16
3. KẾT LUẬN
Trong tiểu luận này đã giải quyết các vấn đề cơ bản đặt ra
ban đầu như:
Thực hiện kết nối Client/Server, trong đó một Server có thể nhận kết nối từ
nhiều Client cùng lúc.
Mỗi Client có thể kết nối vào cơ sở dữ liệu tại Server và thực hiện các hoạt
động thêm, sửa, xố, xuất, thốt. Q trình này có kiểm tra tính gắn bó về
dữ liệu.
Xây dựng Monitoring dùng để kiểm tra quá trình cập nhật dữ liệu
Chương trình được xây dựng bằng ngơn ngữ Java.
Hạn chế:
Chỉ mới bước đầu sử dụng ngơn ngữ lập trình Java nên chưa được thành
thạo, và Chương trình được viết chỉ mới mang tính chất thử nghiệm chứ
chưa phải là một chương trình hồn chỉnh.
Chưa thử nghiệm được khi số lượng Client kết nối lớn, cũng như khi dữ
liệu yêu cầu lớn.
Chưa nghiên cứu để sử dụng các Hệ quản trị CSDL khác: MSSQL,
MySQL, Oracle ...
Và các hạn chế khác nữa ...
17
4. CHẠY CHƯƠNG TRÌNH
18
19