I. Cấutrúccácbảngdữliệu 1. Bảngkháchhàng Thuộctính Kiểu Ràngbuộc KhóachínhKhóaphụ Môtả MaKH nvarchar(10) not null PK Mãkháchhàng MaTK nvarchar(10) null Mãtàikhoản TenKH nvarchar(10) null Tênkháchhàng DiaChi nvarchar(10) null Địachỉ DienThoai int null Điệnthoại CMND int null Chứng minh nhândân GhiChu Nvarchar(10) null Ghichú 2. Tàikhoản Thuộctính Kiểu Khóachính Ràngbuộc Môtả SoTK int PK not null Sốtàikhoản MaKH nvarchar(10) FK null Mãkháchhàng NgayMoTK datetime null Ngàymởtàikhoản MaLoaiTK nvarchar(10) FK null Mãloạitàikhoản SoDuTK float null Sốdưtàikhoản
Trang 1Chươ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óachính/Kh
óa phụ
Mô tả
MaKH nvarchar(
h hàng MaTK nvarchar(
khoả n TenKH nvarchar(
h hàng DiaChi nvarchar(
thoại
g minh nhân dân GhiChu Nvarchar(
Trang 22 Tài khoản
chính Ràng buộc Mô tả
khoản
khách hàng
mở tài khoản MaLoaiTK nvarchar(10) FK null Mã loại
tài khoản
tài khoản
3 Loại tài khoản
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
Trang 34 Phiếu giao dịch
Thuộc tính Kiểu Khóa
chính/khóa phụ
Ràng buộc Mô tả
phiếu
khoản
nhân viên
giao dịch
lập
giao dịch
Trang 45 Loại giao dịch
chính Ràng buộc Mô tả MaLoaiGD nvarchar(10) PK Not null Mã loại
giao dịch
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
Trang 5nhân viên
thoại
Trang 6II 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
Trang 7đó, 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
Trang 8+ 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 E-partner
+ 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
Trang 9 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
Trang 10from KhachHang inner join TaiKhoan3
on KhachHang.MaKH=TaiKhoan.MaKH inner join LoaiTK
on TaiKhoan3.MaLoaiTK=LoaiTK.MaLoaiTK where TaiKhoan3.NgayMoTK<'10/03/2016'