CƠ SỞ DỮ LIỆU NÂNG CAO - THIẾT KẾ CƠ SỞ DỮ LIỆU PHÂN TÁN QUẢN LÝ DỊCH VỤ NGÂN HÀNG
Trang 1ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA CÔNG NGHỆ THÔNG TIN
Tel (84-511) 736 949, Website: itf.ud.edu.vn, E-mail: cntt@edu.ud.vn
BÁO CÁO TIỂU LUẬN MÔN HỌC
CƠ SỞ DỮ LIỆU NÂNG CAO
NGÀNH KHOA HỌC MÁY TÍNH
ĐỀ TÀI : THIẾT KẾ CƠ SỞ DỮ LIỆU PHÂN TÁN QUẢN LÝ DỊCH VỤ NGÂN HÀNG
Nhóm HV : 1 Hoàng Cao Cường
2 Võ Thị Thanh Minh
3 Nguyễn Thị Thùy Trang
4 Phan Thị Huyền Trang
5 Lê Thị Bảo Yến
Lớp Cao học KHMT Khóa 27 (2013 2015)
ĐÀ NẴNG, 08/2014
Trang 2MỤC LỤC
LỜI NÓI ĐẦU 2
PHÂN CÔNG CÔNG VIỆC 3
Chương 1: PHÁT BIỂU BÀI TOÁN 4
1.1 LÝ DO CHỌN ĐỀ TÀI 4
1.2 PHÁT BIỂU BÀI TOÁN 6
Chương 2: THIẾT KẾ CƠ SỞ DỮ LIỆU 7
2.1 THIẾT KẾ LƯỢC ĐỒ QUAN HỆ TỔNG THỂ 7
2.2 THIẾT KẾ PHÂN MẢNH 8
2.2.1 Phân mảnh lược đồ ChiNhanh 8
2.2.2 Phân mảnh lược đồ KhachHang 8
2.2.3 Phân mảnh lược đồ TaiKhoan 9
2.2.4 Phân mảnh lược đồ TKKH 9
2.3 THIẾT KẾ ĐỊNH VỊ CÁC MẢNH 10
2.4 THIẾT KẾ CƠ SỞ DỮ LIỆU VẬT LÝ 11
Chương 3: CHƯƠNG TRÌNH ỨNG DỤNG 12
3.1 CÔNG NGHỆ SỬ DỤNG 12
3.2 CÁC GIAO DIỆN CHƯƠNG TRÌNH 12
TÀI LIỆU THAM KHẢO 14
Trang 3LỜI NÓI ĐẦU
Những năm của thập kỷ 70, máy tính dù có khả năng xây dựng hệ thống thông tin
và hệ Cơ Sở Dữ Liệu (CSDL) Một mặt đã hành thành và phát triển các mô hình lý thuyết cho hệ CSDL và mặt khác là những nguồn phát triển các hệ thống ứng dụng ngày càng có nhiều kinh nghiệm Hệ thống thông tin hình thành trên cơ sở kết nối các máy tính với nhau Những năm gần đây, Hệ Cơ Sở Dữ Liệu Phân Tán (CSDLPT) được phát triển dựa trên hệ quản trị CSDL và mạng máy tính CSDLPT gồm nhiều CSDL được tích góp lại với nhau thông qua mạng máy tính để trao đổi dữ liệu thông tin… CSDL được tổ chức và lưu trữ ở những vị trí khác nhau trong mạng máy tính và chương trình ứng dụng làm việc trên cơ sở truy cập dữ liệu ở các điểm khác nhau đó Vấn đề hoàn toàn mới là xây dựng và cài đặt một CSDLPT Cần giải quyết vấn đề xây dựng và cài đặt CSDLPT cụ thể như vấn đề thiết kế phân tán, thiết kế CSDL…
Với những kiến thức được học tập trong môn học Hệ tin học Phân tán và Cơ sở
dữ liệu Nâng cao tại chương trình đào tạo Cao học: Đại học Đà Nẵng - Chuyên
nghành Khoa học Máy tính - Khóa K27, nhóm chúng em chọn đề tài “Thiết kế Cơ sở
dữ liệu Phân tán Quản lý Dịch vụ Ngân hàng” để phân tích và nghiên cứu Nội dung
và yêu cầu của đề tài này bao gồm những yêu cầu, cụ thể như sau:
Phát biểu bài toán
Xây dựng lược đồ quan hệ tổng thể: 3 5 quan hệ ở dạng chuẩn Boyce-Codd, đảm bảo các ràng buộc toàn vẹn dữ liệu, mỗi quan hệ có 20 30 bản ghi
Thiết kế Phân mảnh, Thiết kế Cơ sở dữ liệu vật lý: 3 5, có chi phí lưu trữ, xử lí và truyền số liệu giống nhau Mỗi vị trí đều có lưu dữ liệu
Xây dựng chương trình ứng dụng: 3 5 câu vấn tin SQL, được thực hiện tại tất cả vị trí với tần suất khác nhau
Mặc dù đã có nhiều cố gắng, song trong quá trình soạn thảo bài tiểu luận và viết chương trình sẽ khó tránh khỏi thiếu sót Rất mong nhận được ý kiến đóng góp của các bạn và các thầy cô để nhóm có thể hiểu rõ vấn đề và hoàn thiện hơn kiến thức về môn
học Cơ sở dữ liệu Nâng cao
Xin chân thành cảm ơn thầy giáo PGS TSKH Trần Quốc Chiến đã cung cấp
kiến thức và tài liệu để chúng em có thể hoàn thành tiểu luận này
Nhóm học viên thực hiện:
Hoàng Cao Cường
Võ Thị Thanh Minh Nguyễn Thị Thùy Trang Phan Thị Huyền Trang
Lê Thị Bảo Yến
Trang 4PHÂN CÔNG CÔNG VIỆC
(theo mục lục)
Chữ ký Nhận xét của
giáo viên
Cường
Chương 3 – Chương trình ứng dụng
2 Võ Thị Thanh
Minh
Chương 1 – Phát biểu bài toán
Chương 2 – Thiết kế
cơ sở dữ liệu vật lý
Thùy Trang
Chương 2 - Thiết kế lược đồ quan hệ tổng thể
4 Phan Thị Huyền
Trang
Chương 2 – Thiết kế phân mảnh
– Thiết kế định vị các mảnh
5 Lê Thị Bảo Yến
Trang 5Chương 1: PHÁT BIỂU BÀI TOÁN
1.1 LÝ DO CHỌN ĐỀ TÀI
Cơ sở dữ liệu (viết tắt CSDL) được hiểu theo cách định nghĩa kiểu kỹ thuật thì nó
là một tập hợp thông tin có cấu trúc Tuy nhiên, thuật ngữ này thường dùng trong công nghệ thông tin và nó thường được hiểu rõ hơn dưới dạng một tập hợp liên kết các dữ liệu, thường đủ lớn để lưu trên một thiết bị lưu trữ như đĩa hay băng từ Dữ liệu này được duy trì dưới dạng một tập hợp các tập tin trong hệ điều hành hay được lưu trữ trong các hệ quản trị cơ sở dữ liệu
Trong những năm gần đây thuật ngữ CSDL phân tán (viết tắt CSDLPT) đang dần
trở nên quen thuộc và dần được ứng dụng rộng rãi trong nghành Công nghệ Thông tin CSDL phân tán là sự hợp nhất giữa hai hướng tiếp cận đối với quá trình xử lý dữ liệu:
Công nghệ CSDL và Công nghệ Mạng máy tính
Ngày nay, tầm quan trọng của CSDLPT là không thể phủ nhận và các lý do chính yếu để giải thích tại sao lại cần sử dụng và phát triển CSDLPT là:
Nguyên nhân về tổ chức và kinh tế: Các tổ chức, đặc biệt là các tổ chức
kinh tế lớn thường có khuynh hướng mở rộng địa bàn hoạt động (mở các chi nhánh mới) nhưng vẫn phải đảm bảo tính thông suốt và nhất quán của
hệ thống CSDL
Sự liên kết các CSDL đang tồn tại: CSDLPT là giải pháp tự nhiên khi có
các CSDL đang tồn tại và sự cần thiết xây dựng một ứng dụng toàn cục Trong trường hợp này CSDLPT được làm từ dưới lên (bottom-up) từ các CSDL đã tồn tại từ trước Tiến trình này có thể đòi hỏi phải cấu trúc lại một cách cục bộ ở một mức độ nhất định Nhưng dù sao những sửa đổi này vẫn nhỏ hơn nhiều so với việc tạo lập một CSDL tập trung hoàn toàn mới
Hỗ trợ truy cập CSDL hiệu quả: CSDLPT cho phép mỗi vị trí lưu giữ
CSDL riêng nhằm hỗ trợ truy cập hiệu quả và tức thì các dữ liệu được
Trang 6dùng thường xuyên Các dữ liệu này vẫn có thể được dùng ở những nơi khác nhưng có tần suất sử dụng ít hơn
Đảm bảo tính an toàn của hệ thống: Nếu có sự cố hư hỏng máy tính cục
bộ hoặc đường liên lạc bị sụp đổ thì phần còn lại của mạng vẫn tiếp tục làm việc được
Tiết kiệm chi phí: Làm giảm tổng chi phí tìm kiếm Giảm dòng dữ liệu trên
đường truyền đồng thời tăng khả năng trả lời
Khả năng phục hồi nhanh chóng: việc truy cập dữ liệu không phụ thuộc
vào một máy tính hay một đường kết nối trên mạng Nếu có bất kỳ một lỗi nào xảy ra thì sẽ có một vài CSDL được truy cập trên các nút cục bộ khác, hơn nữa, nếu có lỗi xảy ra trên đường kết nối thì có thể đường nối dữ liệu khác được chọn thay thế
Cách thức mở rộng dễ dàng: dễ dàng phát triển, mở rộng và điều này là
nhờ vào:
o Nhiều bộ xử lý có thể được thêm vào mạng;
o Nhiều CSDL có thể được thêm vào trên một nút mạng;
o Cập nhật phần mềm độc lập với cấu trúc vật lý
Môi trường của một hệ CSDLPT có thể được biểu diễn bằng sơ đồ sau:
Mô hình Cơ Sở Dữ Liệu Phân Tán
Trạm 4
Trạm 5
Trạm 1
Trạm 2
Trạm 3 Mạng truyền dữ
liệu
Trang 7Với những ứng dụng thiết thực được nêu ở trên của hệ CSDLPT và những kiến
thức được học tập trong môn học Hệ tin học Phân tán và Cơ Sở Dữ Liệu Nâng Cao
Nhóm chúng em xin chọn đề tài “Khảo sát, phân tích, thiết kế CSDLPT quản lí dịch vụ ngân hàng” để phân tích và nghiên cứu
1.2 PHÁT BIỂU BÀI TOÁN
Ngân hàng ABC gồm có các trụ sở chính đặt tại ba thành phố lớn: Hà Nội, Hồ Chí Minh và Đà Nẵng, mỗi trụ sở có nhiều chi nhánh con trong phạm vi địa bàn do
mình quản lý
Ngân hàng có nhu cầu muốn xây dựng CSDL phân tán đặt tại các trụ sở chính để quản lý khách hàng sử dụng các dịch vụ do ngân hàng cung cấp với các yêu cầu sau:
Các khách hàng thuộc một chi nhánh cụ thể được quản lý các thông tin
bao gồm: Số chứng minh nhân dân, tên khách hàng, địa chỉ, nghề nghiệp, nơi công tác, số điện thoại
Tài khoản được mở tại các chi nhánh được quản lý các thông tin: Số tài khoản, ngày mở tài khoản, ngày đóng tài khoản, chi nhánh nào và số tiền
có trong tài khoản
Một tài khoản có thể thuộc về một hay nhiều khách hàng Một khách hàng cũng có thể có nhiều tài khoản
Mô hình lưu trữ dữ liệu phân tán của ngân hàng như hình dưới
TP Hồ Chí Minh
Tp Hà Nội
Tp Đà Nẵng
Mạng truyền
dữ liệu
Trang 8Chương 2: THIẾT KẾ CƠ SỞ DỮ LIỆU
2.1 THIẾT KẾ LƯỢC ĐỒ QUAN HỆ TỔNG THỂ
Từ yêu cầu bài toán ta xác định được các lược đồ như sau:
ChiNhanh(MaCN, tenCN, ThanhPho)
KhachHang(SoCMND, tenKH, diachi, nghenghiep, noicongtac, sodienthoai, MaCN) TaiKhoan(SoTK, ngaymoTK, ngaydongTK, MaCN, sotien)
TKKH(SoTK, SoCMND)
Quan hệ giữa các lược đồ như hình dưới
Bảng xác định quan hệ chủ và quan hệ thành viên của các Li (i=1,2,3,4)
1
1
L4 L3
L1
n
1
n
n
1
n
MaCN ChiNhanh
TenCN ThanhPho
SoCMND
KhachHang
tenKH
diachi
nghenghiep
noicongtac
sodienthoai
MaCN
SoTK TaiKhoan
ngaymoTK ngaydongTK MaCN
SoTK TKKH SoCMND
sotien
L2
Trang 92.2 THIẾT KẾ PHÂN MẢNH
Từ lược đồ quan hệ tổng thể, ta tiến hành phân mảnh dữ liệu bằng kỹ thuật phân mảnh ngang theo các yêu cầu được lựa chọn như sau
1 Phân mảnh ngang nguyên thủy cho lược đồ ChiNhanh
2 Phân mảnh ngang dẫn xuất cho lược đồ KhachHang và TaiKhoan ứng với các mảnh đã được phân mảnh từ lược đồ ChiNhanh
3 Phân mảnh ngang dẫn xuất cho lược đồ TKKH ứng với các mảnh đã được phân mảnh từ lược đồ TaiKhoan
2.2.1 Phân mảnh lược đồ ChiNhanh
Lược đồ ChiNhanh được phân mảnh ngang nguyên thủy qua phép toán chọn như sau:
ChiNhanhi = σFi (ChiNhanh), với i=1, 2, 3 Công thức chọn mảnh Fi:
F1: ThanhPho = “HNI”
F2: ThanhPho = “DNG”
F3: ThanhPho = “HCM”
Cụ thể các mảnh như sau:
ChiNhanh1 = σThanhPho=”HNI” (ChiNhanh)
ChiNhanh2 = σThanhPho=”DNG” (ChiNhanh)
ChiNhanh3 = σThanhPho=”HCM” (ChiNhanh)
2.2.2 Phân mảnh lược đồ KhachHang
Lược đồ KhachHang được phân mảnh dẫn xuất theo các mảnh của lược đồ ChiNhanh đã được phân mảnh ở trên qua phép bán nối ứng với quan hệ chủ là ChiNhanh và quan hệ thành viên là KhachHang như sau:
KhachHangi = KhachHang ChiNhanhi , với i=1, 2, 3
Trang 10KhachHang.MaCN = ChiNhanh.MaCN
Ta có các mảnh của lược đồ KhachHang như sau:
KhachHang1 = KhachHang (σThanhPho=”HNI” (ChiNhanh))
KhachHang.MaCN=ChiNhanh.MaCN
KhachHang2 = KhachHang (σThanhPho=”DNG” (ChiNhanh))
KhachHang.MaCN=ChiNhanh.MaCN
KhachHang3 = KhachHang (σThanhPho=”HCM” (ChiNhanh))
KhachHang.MaCN=ChiNhanh.MaCN
2.2.3 Phân mảnh lược đồ TaiKhoan
Lược đồ TaiKhoan được phân mảnh dẫn xuất theo các mảnh của lược đồ ChiNhanh đã được phân mảnh ở trên qua phép bán nối ứng với quan hệ chủ là ChiNhanh và quan hệ thành viên là TaiKhoan như sau:
TaiKhoani = TaiKhoan ChiNhanhi , với i=1, 2, 3
Vị từ nối được sử dụng giữa quan hệ chủ và quan hệ thành viên là:
TaiKhoan.MaCN = ChiNhanh.MaCN
Ta có các mảnh của lược đồ KhachHang như sau:
TaiKhoan 1 = TaiKhoan (σThanhPho=”HNI” (ChiNhanh))
TaiKhoan.MaCN=ChiNhanh.MaCN
TaiKhoan 2 = TaiKhoan (σThanhPho=”DNG” (ChiNhanh))
TaiKhoan.MaCN=ChiNhanh.MaCN
TaiKhoan 3 = TaiKhoan (σThanhPho=”HCM” (ChiNhanh))
TaiKhoan.MaCN=ChiNhanh.MaCN
2.2.4 Phân mảnh lược đồ TKKH
Lược đồ TKKH có hai lựa chọn để phân mảnh:
1 Phân mảnh dẫn xuất theo lược đồ TaiKhoan
2 Phân mảnh dẫn xuất theo lược đồ KhachHang
Trang 11Tuy nhiên, để tránh việc cập nhật dữ liệu về các tài khoản ở nhiều nơi khác nhau thì lựa chọn phân mảnh dẫn xuất của lược đồ này theo lược đồ TaiKhoan là phương án hợp lý
Ta có quan hệ chủ là lược đồ TaiKhoan và quan hệ thành viên là lược đồ TKKH, các mảnh của lược đồ TKKH sử dụng phep bán nối như sau:
TKKHi = TKKH TaiKhoani , với i=1, 2, 3
Vị từ nối được sử dụng giữa quan hệ chủ và quan hệ thành viên là:
TKKH.SoTK = TaiKhoan.SoTK
Ta có các mảnh của lược đồ TKKH như sau:
TKKH1 = TKKH (TaiKhoan (σThanhPho=”HNI” (ChiNhanh)))
TKKH.SoTK=TaiKhoan.SoTK TaiKhoan.MaCN=ChiNhanh.MaCN
TKKH2 = TKKH (TaiKhoan (σThanhPho=”DNG” (ChiNhanh)))
TKKH.SoTK=TaiKhoan.SoTK TaiKhoan.MaCN=ChiNhanh.MaCN
TKKH3 = TKKH (TaiKhoan (σThanhPho=”HCM” (ChiNhanh))) TKKH.SoTK=TaiKhoan.SoTK TaiKhoan.MaCN=ChiNhanh.MaCN
2.3 THIẾT KẾ ĐỊNH VỊ CÁC MẢNH
Hệ thống được xây dựng có 3 trạm lưu dữ liệu là:
Trạm 1: HNI – Hà Nội
Trạm 2: DNG – Đà Nẵng
Trạm 3: HCM – Hồ Chí Minh
Các mảnh được phân tán về các trạm tương ứng như sau:
Trang 12 Các mảnh 1 của các lược đồ được lưu trữ tại trạm 1
Các mảnh 2 của các lược đồ được lưu trữ tại trạm 2
Các mảnh 3 của các lược đồ được lưu trữ tại trạm 3
2.4 THIẾT KẾ CƠ SỞ DỮ LIỆU VẬT LÝ
Cơ sở dữ liệu vật lý lưu trữ dữ liệu phân tán tại các trạm có cấu trúc chi tiết như sau:
ChiNhanh:
Thuộc tính Viết đầy đủ Định dạng Đặc tả
TenCN Tên Chi Nhánh VARCHAR2(200)
ThanhPho Thành phố VARCHAR2(50)
KhachHang:
Thuộc tính Viết đầy đủ Định dạng Đặc tả
nghenghiep Nghề nghiệp VARCHAR2(200)
noicongtac Nơi công tác VARCHAR2(200)
sodienthoai Số điện thoại VARCHAR2(20)
TaiKhoan:
Thuộc tính Viết đầy đủ Định dạng Đặc tả
ngaymoTK Ngày mở Tài khoản DATE
ngaydongTK Ngày đóng tài khoản DATE
sotien Số tiền trong tài
khoản
NUMBER(12)
TKKH:
Trang 13Thuộc tính Viết đầy đủ Định dạng Đặc tả
Khóa chính
Chương 3: CHƯƠNG TRÌNH ỨNG DỤNG
3.1 CÔNG NGHỆ SỬ DỤNG
Hệ quản trị cơ sở dữ liệu: ORACLE
Ngôn ngữ lập trình: VISUAL BASIC 6.0
Thư viện kết nối tương tác dữ liệu: ADO 2.7
3.2 CÁC GIAO DIỆN CHƯƠNG TRÌNH
1 Lựa chọn trụ sở hoặc tổng công ty
2 Xem chi tiết dữ liệu các lược đồ hoặc sử dụng quy vấn nhân công qua cú pháp lệnh SQL
Trang 15TÀI LIỆU THAM KHẢO
[1] Bài giảng – Cơ sở dữ liệu nâng cao – PGS TSKH Trần Quốc Chiến, Trường
Đại học Sư phạm – Đại học Đà Nẵng
[2] Một số tài liệu trên Internet