Tải bản đầy đủ (.ppt) (19 trang)

Gắn bó dữ liệu trong các CSDL phân tán

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 (354.52 KB, 19 trang )

1
BÁO CÁO TIỂU LUẬN
MÔN HỌC: LẬP TRÌNH MẠNG
BỘ GIÁO DỤC VÀ ĐÀO TẠO
ĐẠI HỌC ĐÀ NẴ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
2
NỘI DUNG BÁO CÁO
NỘI DUNG BÁO CÁO
1. Giới thiệu Đề tài
1. Giới thiệu Đề tài
2. Giải quyết vấn đề
2. Giải quyết vấn đề
3. Kết luận
3. Kết luận
4. Chạy chương trình
4. Chạy chương trình
3
1. ĐỀ TÀI
1. ĐỀ TÀI

Gắn bó dữ liệu trong các CSDL phân tán.
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
Viết chương trình cho phép cập nhật CSDL
và kiểm tra tính gắn bó.
và kiểm tra tính gắn bó.
4


2. GIẢI QUYẾT VẤN ĐỀ
2. GIẢI QUYẾT VẤN ĐỀ

Ngôn ngữ lập trình được sử dụng.
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ơ sở dữ liệu.

Xây dựng các chương trình Client, Server,
Xây dựng các chương trình Client, Server,
Monitor.
Monitor.

Kiểm tra tính gắn bó.
Kiểm tra tính gắn bó.
5
2. GIẢI QUYẾT VẤN ĐỀ
2. GIẢI QUYẾT VẤN ĐỀ

Ngôn ngữ lập trình được sử dụng.
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ơ sở dữ liệu.

Xây dựng các chương trình Client, Server,
Xây dựng các chương trình Client, Server,
Monitor.
Monitor.


Kiểm tra tính gắn bó.
Kiểm tra tính gắn bó.
6
NGÔN NGỮ LẬP TRÌNH
NGÔN NGỮ LẬP TRÌNH

Sử dụng ngôn ngữ Java để xây dựng chương
Sử dụng ngôn ngữ Java để xây dựng chương
trình.
trình.

Java là một ngôn ngữ đơn giản, hướng đối
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
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ả
mật, cấu trúc độc lập, khả chuyển, hiệu quả
cao và linh động.
cao và linh động.
7
XÂY DỰNG CƠ SỞ DỮ LIỆU
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
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
quản lý mà chỉ phục vụ cho yêu cầu về cập nhật, tra
cứu thông tin.
cứu thông tin.


Do đó có thể thiết kế rất đơn giản:
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ơ
Thiết kế cơ sở dữ liệu Books sử dụng hệ quản trị cơ
sở dữ liệu Access.
sở dữ liệu Access.

Cơ sở dữ liệu Books sẽ bao gồm table Books.
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ã
Table Books gồm một trường Maso để lưu các mã
số về các cuốn sách.
số về các cuốn sách.
8
KẾT NỐI CƠ SỞ DỮ LIỆU
KẾT NỐI CƠ SỞ DỮ LIỆU

Sử dụng đăng kết ODBC
Sử dụng đăng kết ODBC

Kết nối cơ sở dữ liệu bằng Java
Kết nối cơ sở dữ liệu bằng Java

Nạp trình điều khiển
Nạp trình điều khiển
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver" );
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver" );


Tạo kết nối
Tạo kết nối


Connection
Connection
knoi=DriverManager.getConnection( "jdbc:odbc:DSNT
knoi=DriverManager.getConnection( "jdbc:odbc:DSNT
huVien");
huVien");

Tạo đối tượng Statement
Tạo đối tượng Statement
Statement lenhSQL = knoi.createStatement();
Statement lenhSQL = knoi.createStatement();


9
MÔ HÌNH CLIENT/SERVER
MÔ HÌNH CLIENT/SERVER
10
XÂY DỰNG SERVER (1/2)
XÂY DỰNG SERVER (1/2)
Bắt đầu
Tạo giao diện
Đợi kết nối từ các Client
Nhận kết nối
Sai
Đúng

Tạo một Thread mới kết nối với Client
(MultipleSocketServer)
Kết thúc
Sơ đồ khối cho chương trình chính của Server như sau:
11
XÂY DỰNG SERVER (2/2)
XÂY DỰNG SERVER (2/2)
Sơ đồ khối cho MultipleSocketServer:
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, xoá, xuất
thông tin theo thông tin nhận được
Gửi kết quả về cho Client
Kết thúc
12
XÂY DỰNG CLIENT
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
13
XÂY DỰNG MONITORING
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
14
KIỂM TRA TÍNH GẮN BÓ DỮ LIỆU
KIỂM TRA TÍNH GẮN BÓ DỮ LIỆU
(1/3)
(1/3)
Cho một hệ thống cho phép cập nhật thông tin hay
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.
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
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
việc với CSDL, ta sẽ gặp phải trường hợp
hai người
hai người
cùng truy xuất và cập nhật trên cùng một dữ liệu
cùng truy xuất và cập nhật trên cùng một dữ liệu
. Ta
. Ta
gọi đó là trạng thái xung đột. Và khi đó
gọi đó là trạng thái xung đột. Và khi đó
số liệu dễ bị
số liệu dễ bị

sai lạc
sai lạc
và làm mất tính toàn vẹn, gắn bó của dữ liệu.
và làm mất tính toàn vẹn, gắn bó của dữ liệu.
15
KIỂM TRA TÍNH GẮN BÓ DỮ LIỆU
KIỂM TRA TÍNH GẮN BÓ DỮ LIỆU
(2/3)
(2/3)

Do đó, mỗi khi cập nhật thông tin hay tra cứu
Do đó, mỗi khi cập nhật thông tin hay tra cứu
thông tin,
thông tin,
phải kiểm tra để xác định quyền truy cập
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
để đọ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
Chỉ cho phép cập nhật khi không có truy vấn nào
đang tiến hành.
đang tiến hành.

Các hệ CSDL có hỗ trợ transaction sẽ
Các hệ CSDL có hỗ trợ transaction sẽ
sử dụng cơ
sử dụng cơ
chế lock, khoá các khối dữ liệu đang ở trong một

chế lock, khoá các khối dữ liệu đang ở trong một
transaction,
transaction,
ngăn không cho các truy cập từ những
ngăn không cho các truy cập từ những
người dùng khác.
người dùng khác.
16
KIỂM TRA TÍNH GẮN BÓ DỮ LIỆU
KIỂM TRA TÍNH GẮN BÓ DỮ LIỆU
(3/3)
(3/3)
Tạo Connection
Chấm dứt auto-commit
Các lệnh SQL Update, Insert,
Delete
commit
commit
Các lệnh SQL Update, Insert,
Delete
TransactionTransaction
Transaction
17
3. KẾT LUẬN
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, xoá, xuất, thoát. Quá 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 hoà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
18
4. CHẠY CHƯƠNG TRÌNH
4. CHẠY CHƯƠNG TRÌNH
19

×