Chương 2: Xây dựng cơ sở dữ liệu phân tán trong
hệ quản trị CSDL SQL
I. Cấu trúc các bảng dữ liệu
1. Bảng khách hàng
Thuộc
tính
Kiểu
Ràng
buộc
Khóa
chính/Kh
óa phụ
Mô tả
MaKH
nvarchar(
10)
not null
PK
Mã
khác
h
hàng
MaTK
nvarchar(
10)
null
Mã
tài
khoả
n
TenKH
nvarchar(
10)
null
Tên
khác
h
hàng
DiaChi
nvarchar(
10)
null
Địa
chỉ
DienThoai
int
null
Điện
thoại
CMND
int
null
Chứn
g
minh
nhân
dân
GhiChu
Nvarchar(
10)
null
Ghi
chú
2. Tài khoản
Thuộc tính
Kiểu
Khóa
chính
Ràng
buộc
Mô tả
SoTK
int
PK
not null
Số tài
khoản
MaKH
nvarchar(10)
FK
null
Mã
khách
hàng
NgayMoTK
datetime
null
Ngày
mở tài
khoản
MaLoaiTK
nvarchar(10)
null
Mã loại
tài
khoản
SoDuTK
float
null
Số dư
tài
khoản
FK
3. Loại tài khoản
Thuộc tính
Kiểu
Khóa
chính
Ràng
buộc
Mô tả
MaLoaiTK
nvarchar(10)
PK
not null
Mã loại
tài
khoản
TenLoaiTK
nvarchar(10)
null
Tên loại
tài
khoản
4. Phiếu giao dịch
Thuộc tính
Kiểu
Khóa
chính/khóa
phụ
Ràng buộc Mô tả
MaP
int
PK
not null
Mã
phiếu
SoTK
int
FK
null
Số tài
khoản
MaNV
nvarchar(10)
FK
null
Mã
nhân
viên
MaLoaiGD
nvarchar(10)
null
Mã loại
giao
dịch
NgayL
datetime
null
Ngày
lập
SoTienGD
real
null
Số tiền
giao
dịch
5. Loại giao dịch
Thuộc tính
Kiểu
Khóa
chính
Ràng
buộc
Mô tả
MaLoaiGD
nvarchar(10)
PK
Not null
Mã loại
giao
dịch
TenLoaiGD
nvarchar(10)
Null
Tên loại
giao
dịch
6. Nhân viên
Thuộc tính
Kiểu
Khóa chính
Ràng
buộc
Mô tả
MaNV
nvarchar(10)
PK
not null
Mã nhân
viên
TenNV
nvarchar(10)
null
Tên nhân
viên
DiaChi
nvarchar(10)
null
Địa chỉ
SDT
int
null
Số điện
thoại
II. Mô hình CSDL phân tán
Phòng giao dịch Viettinbank : tên loại tài khoản 1 là E-partner ,
tên loại tài khoản 2 là Cremium, tên loại tài khoản 3 là Visa và tên
loại tài khoản 4 là Master ,để công tác quản lý được dễ dàng và
chính xác thông tin nhóm xây dựng phần mềm dựa trên mô hình cơ
sở dữ liệu phân tán để quản lý dữ liệu của từng loại tài khoản
+ Mỗi tài khoản sẽ có một phần mềm ứng dụng, một hệ quản
trị cơ sở dữ liệu và một cơ sở dữ liệu độc lập của riêng loại tài khoản
đó, cơ sở dữ liệu của từng tài khoản không được tạo liên kết với nhau
mà chỉ tạo liên kết đến server.
+ Phần mềm ứng dụng của mỗi tài khoản được kết nối đến cơ
sở dữ liệu của tài khoản đó thông qua hệ quản trị cơ sở dữ liệu. Phần
mềm ứng dụng cho phép cập nhật, thêm, xóa dữ liệu, tìm kiếm
thông tin, xuất báo cáo của tài khoản đó và thực hiện một số tác vụ
khác.
+ Mỗi tài khoản : Khi người dùng thực hiện một yêu cầu truy
xuất cơ sở dữ liệu thông qua giao diện phần mềm ứng dụng ; yêu
cầu này sẽ được phần mềm ứng dụng gửi đến hệ quản trị cơ sở dữ
liệu phân tán thông qua kết nối chương trình ứng dụng và hệ quản
trị CSDL; sau đó hệ quản trị CSDL phân tán yêu cầu đến vị trí chứa
dữ liệu của tài khoản đó. Thực hiện xong yêu cầu, kết quả sẽ được
gửi về và đưa lên giao diện phần mềm ứng dụng để người dùng có
thể xem chi tiết hoặc xuất thông tin.
+ Server cũng có mô hình tương tự các tài khoản gồm có: một
phần mềm ứng dụng chạy riêng tại server, một hệ quản trị cơ sở dữ
liệu để quản trị cơ sở dữ liệu tại server. Cơ sở dữ liệu tại server được
tạo liên kết đến cơ sở dữ liệu của từng tài khoản thông qua hệ quản
trị cơ sở dữ liệu phân tán SQL SERVER.
+ Phần mềm ứng dụng tại server được kết nối đến cơ sở dữ
liệu tại server với chức năng xem dữ liệu của các loại tài khoản, cập
nhật, thêm, xóa dữ liệu của các loại tài khoản, cho phép chuyển khu
công tác của nhân viên và thực hiện cập nhật ngay trên phần mềm.
Phần mềm tại server cũng giúp người quản lý tìm kiếm thông tin tại
mỗi loại tài khoản , thống kê dữ liệu cho từng tài khoản hoặc cho cả
4 loại tài khoản để có thể so sánh và làm công tác quản lý được
chính xác hơn.
+ CSDL tại server được tạo liên kết đến 4 loại tài khoản bằng
database link thông qua hệ quản trị cơ sở dữ liệu phân tán và môi
trường mạng máy tính.
+ Tại server: khi người quản lý phát ra yêu cầu truy xuất CSDL
đến CSDL của một tài khoản nào đó thông qua giao diện phần mềm
ứng dụng. Yêu cầu này sẽ được phần mềm ứng dụng gửi đến CSDL
server thông qua hệ quản trị CSDL. Tại CSDL server, yêu cầu được
thực hiện thông qua database link(tạm dịch: đường dẫn kết nối các
CSDL) kết nối đến CSDL của các loại tài khoản ; thông qua database
link yêu cầu sẽ được thực hiện tại cơ sở dữ liệu của cơ sở cần truy
vấn và trả về kết quả cho server và hiển thị lên giao diện phần
mềm.
III. Một số truy vấn phân tán trong CSDL
-
Các link bao gồm :
+ Trạm 1 là chứa các thông tin giao dịch của loại tài khoản Epartner
+ Trạm 2 là chứa các thông tin giao dịch của loại tài khoản
Cremium
+ Trạm 3 là chứa các thông tin giao dịch của loại tài khoản
Visa
+ Trạm 4 là chứa các thông tin giao dịch của loại tài khoản
Master
Mã loại tài khoản:
+ TK01: E-partner
+TK02: Cremium
+ TK03: Visa
+TK04: Master
Một số truy vấn
+ Đưa ra thông tin khách hàng ở trạm 1
select
KhachHang.MaKH,TenKH,DiaChi,DienThoai,CMND,GhiChu
from KhachHang inner join TaiKhoan 1
on KhachHang.MaKH=TaiKhoan.MaKH
inner join LoaiTK
on TaiKhoan1.MaLoaiTK=LoaiTK.MaLoaiTK
+ Đưa ra thông tin nhân viên ở trạm 2
select MaNV,TenNV,DiaChi,SDT
from NhanVien
+ Ðưa ra thông tin khách hàng có MaKH=”kh01” ở trạm
4
select
KhachHang.MaKH,TenKH,DiaChi,DienThoai,CMND,GhiChu
from KhachHang inner join TaiKhoan4
on KhachHang.MaKH=TaiKhoan.MaKH
inner join LoaiTK
on TaiKhoan4.MaLoaiTK=LoaiTK.MaLoaiTK
where KhachHang.MaKH='kh01'
+ Đưa ra thông tin khách hàng có số ngày mở tài khoản
trước ngày 10/03/2016 ở trạm 3
select
KhachHang.MaKH,TenKH,DiaChi,DienThoai,CMND,GhiChu
from KhachHang inner join TaiKhoan3
on KhachHang.MaKH=TaiKhoan.MaKH
inner join LoaiTK
on TaiKhoan3.MaLoaiTK=LoaiTK.MaLoaiTK
where TaiKhoan3.NgayMoTK<'10/03/2016'