1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Bài tập lớn: Thiết kế và cài đặt cơ sở dữ liệu phân tán bằng hệ quản trị cơ sở dữ liệu SQL Server cho quản lí giao dịch tại ngân hàng theo phân mảng ngang trên địa chỉ ở Đà Nẵng,Hà Nội,Sài Gòn

23 1,8K 14
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 23
Dung lượng 231,55 KB

Nội dung

MỤC LỤC I. LỜI NÓI ĐẦU 3 II. NỘI DUNG CHÍNH 6 1. THIếT Kế CSDL PHÂN TÁN CHO Hệ THốNG 6 1.1. Khảo sát nghiệp vụ 6 1.2. Bài toán 7 1.3. Thiết kế cơ sở dữ liệu tập trung cho hệ thống 8 1.4. Thiết kế mô hình csdl phân tán cho hệ thống 8 2. XÂY DựNG CSDL PHÂN TÁN TRONG Hệ QUảN TRị CSDL SQL SERVER 13 2.1. Cấu trúc các bảng dữ liệu 13 2.2. Mô hình CSDL phân tán 18 2.3. Một số truy vấn phân tán trong hệ quản trị CSDL 23 3. CÀI ĐặT Hệ THốNG TRÊN CSDL PHÂN TÁN 24 3.1. Yêu cầu phần cứng và phần mềm 24 3.2. Thiết kế giao diện chương trình trên các trạm 24 3.3. Cài đặt và thử nghiệm 24

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI

KHOA CÔNG NGHỆ THÔNG TIN

o0o LỚP HỆ THỐNG THÔNG TIN – KHÓA 7

Bài tập lớn : Cơ sở dữ liệu phân tán

Đề tài : Thiết kế và cài đặt cơ sở dữ liệu phân tán bằng hệ quản trị cơ sở

dữ liệu SQL Server cho quản lí giao dịch tại ngân hàng theo phân mảng ngang trên địa chỉ ở Đà Nẵng, Hà Nội, Sài Gòn

Người thực hiện :

- Lê Tuấn Ngọc : Thiết kế CSDLPT, Xây dựng CSDLPT trongHQT CSDL SQL Server, Cài đặt hệ thống

- Nguyễn Thị Nguyên : Thiết kế CSDLPT

- Lê Thị Duyên : Thiết kế CSDLPT

Giáo viên hướng dẫn :

- Th.S Nguyễn Thị Thanh Huyền

Trang 2

MỤC LỤC

I LỜI NÓI ĐẦU 3

II NỘI DUNG CHÍNH 6

1 THIẾT KẾ CSDL PHÂN TÁN CHO HỆ THỐNG 6

1.1 Khảo sát nghiệp vụ 6

1.2 Bài toán 7

1.3 Thiết kế cơ sở dữ liệu tập trung cho hệ thống 8

1.4 Thiết kế mô hình csdl phân tán cho hệ thống 8

2 XÂY DỰNG CSDL PHÂN TÁN TRONG HỆ QUẢN TRỊ CSDL SQL SERVER 13

2.1 Cấu trúc các bảng dữ liệu 13

2.2 Mô hình CSDL phân tán 18

2.3 Một số truy vấn phân tán trong hệ quản trị CSDL 23

3 CÀI ĐẶT HỆ THỐNG TRÊN CSDL PHÂN TÁN 24

3.1 Yêu cầu phần cứng và phần mềm 24

3.2 Thiết kế giao diện chương trình trên các trạm 24

3.3 Cài đặt và thử nghiệm 24

Trang 3

I LỜI NÓI ĐẦU

Ngân Hàng TMCP Công Thương Việt Nam (VietinBank) được thành lập

từ năm 1988 sau khi tách ra từ Ngân hàng Nhà nước Việt Nam

Là Ngân hàng thương mại lớn, giữ vai trò quan trọng, trụ cột của ngànhNgân hàng Việt Nam

Có hệ thống mạng lưới trải rộng toàn quốc với 01 Sở giao dịch, 151 Chinhánh và trên 1000 Phòng giao dịch/ Quỹ tiết kiệm Các chi nhánh được

phân theo 3 khu vực chính trên cả nước là Hà Nội, Đà Nẵng và Sài Gòn.

Các hoạt động chính của ngân hàng

- Phát hành kỳ phiếu, trái phiếu

Cho vay, đầu tư

- Cho vay ngắn hạn bằng VNĐ và ngoại tệ

- Cho vay trung, dài hạn bằng VNĐ và ngoại tệ

- Tài trợ xuất, nhập khẩu; chiết khấu bộ chứng từ hàng xuất

- Đồng tài trợ và cho vay hợp vốn đối với những dự án lớn, thờigian hoàn vốn dài

- Cho vay tài trợ, uỷ thác theo chương trình: Đài Loan (SMEDF);Việt Đức (DEG, KFW) và các hiệp định tín dụng khung

- Thấu chi, cho vay tiêu dùng

- Hùn vốn liên doanh, liên kết với các tổ chức tín dụng và các địnhchế tài chính trong nước và quốc tế

- Đầu tư trên thị trường vốn, thị trường tiền tệ trong nước và quốctế

Trang 4

Bảo lãnh

- Bảo lãnh, tái bảo lãnh (trong nước và quốc tế): Bảo lãnh dự thầu;Bảo lãnh thực hiện hợp đồng; Bảo lãnh thanh toán

Thanh toán và Tài trợ thương mại

- Phát hành, thanh toán thư tín dụng nhập khẩu; thông báo, xácnhận, thanh toán thư tín dụng nhập khẩu

- Nhờ thu xuất, nhập khẩu (Collection); Nhờ thu hối phiếu trả ngay(D/P) và nhờ thu chấp nhận hối phiếu (D/A)

- Chuyển tiền trong nước và quốc tế

- Chuyển tiền nhanh Western Union

- Thanh toán uỷ nhiệm thu, uỷ nhiệm chi, séc

- Chi trả lương cho doanh nghiệp qua tài khoản, qua ATM

- Chi trả Kiều hối…

Ngân quỹ

- Mua, bán ngoại tệ (Spot, Forward, Swap…)

- Mua, bán các chứng từ có giá (trái phiếu chính phủ, tín phiếu khobạc, thương phiếu…)

- Thu, chi hộ tiền mặt VNĐ và ngoại tệ

- Cho thuê két sắt; cất giữ bảo quản vàng, bạc, đá quý, giấy tờ cógiá, bằng phát minh sáng chế

Thẻ và ngân hàng điện tử

- Phát hành và thanh toán thẻ tín dụng nội địa, thẻ tín dụng quốc tế(VISA, MASTER CARD…)

- Dịch vụ thẻ ATM, thẻ tiền mặt (Cash card)

- Internet Banking, Phone Banking, SMS Banking

Trang 5

Hoạt động khác

- Khai thác bảo hiểm nhân thọ, phi nhân thọ

- Tư vấn đầu tư và tài chính

- Cho thuê tài chính

- Môi giới, tự doanh, bảo lãnh phát hành, quản lý danh mục đầu tư,

tư vấn, lưu ký chứng khoán

- Tiếp nhận, quản lý và khai thác các tài sản xiết nợ qua Công tyQuản lý nợ và khai thác tài sản

Để hoàn thiện các dịch vụ liên quan hiện có nhằm đáp ứng nhu cầu ngàycàng cao của khách hàng, đồng thời tạo đà cho sự phát triển và hội nhậpvới các nước trong khu vực và quốc tế, VietinBank luôn có tầm nhìn chiếnlược trong đầu tư và phát triển, tập trung ở 3 lĩnh vực:

- Phát triển nguồn nhân lực

- Phát triển công nghệ

- Phát triển kênh phân phối

Với quy mô lớn như hiện nay, công tác quản lý giao dịch tại các chi nhánhcủa ngân hàng gặp rất nhiều khó khăn, do nhu cầu thu thập, lưu trữ, xử lý

và trao đổi thông tin ngày càng tăng, các hệ thống xử lý tập trung này đãbộc lộ rất nhiều nhược điểm

Vì thế xây dựng một hệ thống phân tán để thay thế hệ thống tập trung

truyền thống là điều tất yếu, nhóm chúng em đề xuất “Thiết kế và cài đặt

cơ sở dữ liệu phân tán bằng hệ quản trị cơ sở dữ liệu SQL Server cho quản

lí giao dịch tại ngân hàng theo phân mảng ngang trên địa chỉ ở Đà Nẵng,

Hà Nội, Sài Gòn”

Trang 6

II NỘI DUNG CHÍNH

Thiết kế và cài đặt cơ sở dữ liệu phân tán bằng hệ quản trị cơ sở dữ liệu SQL Server cho quản lí giao dịch tại ngân hàng theo phân mảng ngang trên địa chỉ ở Đà Nẵng, Hà Nội, Sài Gòn

- Trạm 1 : Các chi nhánh khu vực Hà Nội

- Trạm 2 : Các chi nhánh khu vực Đà Nẵng

- Trạm 3 : Các chi nhánh khu vực Sài Gòn

Nội dung chính gồm 3 chương :

- Chương 1 : Thiết kế CSDL phân tán cho hệ thống

- Chương 2 : Xây dựng CSDL phân tán trong hệ quản trị CSDL

- Chương 3 : Cài đặt hệ thống trên CSDL phân tán

1 Thiết kế CSDL phân tán cho hệ thống

1.1 Khảo sát nghiệp vụ

Khi khách hàng đến sử dụng dịch vụ của ngân hàng thì khách hàng sẽ nhận được một mẫu đăng kí sử dụng dịch vụ (Một trong số các dịch vụ mà ngân hàng cung cấp) Đối với mỗi loại dịch vụ có một mẫu phiếu đăng kí riêng, nhưng các mẫu phiếu đăng kí có các nội dung chung sau:

Số phiếu:

Mã DV:

Tên khách:

Địa chỉ:

Mã khách:

Số tài khoản:

Ngày đăng kí TK:… ………… (Các nội dung riêng của từng dịch vụ) Ngày đăng kí sử dụng dịch vụ:

Trang 7

Mã NV: Tên NV: Sau khi nhân phiếu đăng kí sử dụng dịch vụ từ khách hàng Nhân viên tiếpnhận cập nhật thông tin của khách hàng vào cơ sở dữ liệu khách hàng Sau

đó cập nhật mã khách hàng và các thông tin riêng của dich vụ vào cơ sở dữliệu của dịch vụ đó Cuối cùng, khách hàng nộp tiền (nếu cần) và nhận biênlai giao dịch

Chính vì thế ứng dụng quản lý mà ta cần thiết kế phải có khả năng truy cập

và cập nhật vào cơ sở dữ liệu từ xa, đồng thời cũng có các chức năng in ấnbáo cáo

Hiện nay có rất nhiều ngôn ngữ có thể làm được các công việc trên Tuynhiên nhóm em thấy Visual C# là thích hợp hơn cả Sau đây nhóm em xintrình bày tư tưởng cài đặt hệ thống

Hệ thống gồm 2 chương trình:

- Server: đặt tại một máy tính có địa chỉ mạng xác định có nhiệm

vụ nhận các yêu cầu cập nhật cũng như lấy thông tin từ các máyclient của ngân hàng đặt tại các địa điểm khác nhau

- Máy trạm : đặt trên các máy tính của các chi nhánh Chương trìnhclient có một giao diện xuất nhập tốt bao gồm các nút và các formnhập dữ liệu

Trang 8

1.3 Thiết kế cơ sở dữ liệu tập trung cho hệ thống

1.4 Thiết kế mô hình csdl phân tán cho hệ thống

Trang 9

Tập vị từ đơn giản khởi đầu là Pr = {p1, p2, p3} Áp dụng thuật toánCOM_MIN với i = 1 làm giá trị khởi đầu tạo ra Pr’ = {p1, p2, p3} là tập đầy

Kết quả phân mảnh ngang nguyên thủy ChiNhanhtạo ra 3 mảnh

ChiNhanh = { ChiNhanh 1 , ChiNhanh 2 , ChiNhanh 3 }

ChiNhanh1= σ DiaChi = “Hà Nội” (ChiNhanh)

ChiNhanh2= σ DiaChi = “Đà Nẵng” (ChiNhanh)

ChiNhanh3 = σ DiaChi = “Sài Gòn” (ChiNhanh)

Phân mảnh ngang dẫn xuất ChiNhanh – KhachHang ta được 3 trạm:

KhachHang1 = KhachHang |›‹ ChiNhanh1

KhachHang2 = KhachHang |›‹ ChiNhanh2

KhachHang3 = KhachHang |›‹ ChiNhanh3

Phân mảnh ngang dẫn xuất ChiNhanh – NhanVien ta được 3 trạm:

NhanVien1 = NhanVien|›‹ ChiNhanh1

Trang 10

NhanVien2 = NhanVien|›‹ ChiNhanh2

NhanVien3 = NhanVien|›‹ ChiNhanh3

Phân mảnh ngang dẫn xuất ChiNhanh – PhieuChuyenTien ta được 3 trạm:

PhieuChuyenTien1 = PhieuChuyenTien |›‹ ChiNhanh1

PhieuChuyenTien2 = PhieuChuyenTien |›‹ ChiNhanh2

PhieuChuyenTien3 = PhieuChuyenTien |›‹ ChiNhanh3

Phân mảnh ngang dẫn xuất ChiNhanh – PhieuNopTien ta được 3 trạm:

PhieuNopTien1 = PhieuNopTien |›‹ ChiNhanh1

PhieuNopTien2 = PhieuNopTien |›‹ ChiNhanh2

PhieuNopTien3 = PhieuNopTien |›‹ ChiNhanh3

Phân mảnh ngang dẫn xuất ChiNhanh – PhieuRutTien ta được 3 trạm:

PhieuRutTien1 = PhieuRutTien |›‹ ChiNhanh1

PhieuRutTien2 = PhieuRutTien |›‹ ChiNhanh2

PhieuRutTien3 = PhieuRutTien |›‹ ChiNhanh3

Sau khi phân mảnh ta có 3 trạm như sau:

- Trạm 1

Trang 11

- Trạm 2

- Trạm 3

Trang 12

1.4.2 Mô tả về sử dụng dữ liệu cho mỗi chi nhánh

- Server : Có quyền thay đổi thông tin, cập nhật toàn bộ dữ liệu trên hệthống

- Máy trạm : Mỗi trạm (chi nhánh) chỉ được cập nhật dữ liệu trongphạm vi chi nhánh đó

1.4.3 Mô tả quá trình nghiệp vụ cho mỗi chi nhánh

- Chức năng cập nhật dữ liệu dịch vụ có nhiệm vụ tiếp nhận các điềuchỉnh về dịch vụ từ bộ phận quản lý cấp trên và cập nhật nó vào hệthống Công việc này bao gồm: Thêm một dịch vụ mới vào hệ thống

và thay đổi một dịch vụ đang cung cấp (Ví dụ: tăng giảm lãi suất,thời hạn trả lãi,…)

- Chức năng quản lý sử dụng dịch vụ: là nơi giao tiếp với khách hàng

và có nhiệm vụ cập nhật thông tin của khách hàng cũng như cácthông tin về sử dụng dịch vụ của khách hàng

- Chức năng thống kê báo cáo có nhiệm vụ tổng hợp và báo cáo thôngtin theo yêu cầu của bộ phận quản lý cấp trên

Trang 13

2 Xây dựng CSDL phân tán trong hệ quản trị CSDL SQL Server 2.1 Cấu trúc các bảng dữ liệu

2.1.1 Bảng Chi nhánh

2.1.2 Bảng Phòng ban

Trang 14

2.1.4 Bảng Khách hàng

2.1.5 Bảng Nhân viên

Trang 15

MaChiNhanh Int Mã chi nhánh

2.1.6 Bảng Phiếu chuyển tiền

2.1.7 Bảng Phiếu nộp tiền

Trang 16

MaPhieuNopTien Int Mã phiếu nộp tiền

2.1.8 Bảng Phiếu rút tiền

Trang 17

SoTien Decimal(18,0) Số tiền nộp

2.2 Mô hình CSDL phân tán

Trang 18

2.2.1 Một số Trigger

====================================== Create T-SQL Trigger trg_ChiNhanh_Tram1

====================================== USE VietinBank1

DECLARE @DiaChi nvarchar(250)

SET @DiaChi = (SELECT DiaChi FROM inserted) IF(@DiaChi LIKE N'%Hà Nội%')

PRINT N'Thành công' ELSE

BEGIN

PRINT N'Không thành công' END

GO

Trang 19

IF OBJECT_ID ('trg_NhanVien_Tram1','TR') IS NOT NULL

DROP TRIGGER trg_NhanVien_Tram1

DECLARE @MaChiNhanh int

SET @MaChiNhanh = (SELECT MaChiNhanh FROM inserted)

DECLARE @DiaChi nvarchar(250)

SET @DiaChi = (SELECT DiaChi FROM ChiNhanh WHERE MaChiNhanh =

@MaChiNhanh)

IF(@DiaChi LIKE N'%Hà Nội%')

PRINT N'Thành công' ELSE

Trang 20

IF OBJECT_ID ('trg_PhieuNopTien_Tram1','TR') IS NOT NULL

DROP TRIGGER trg_PhieuNopTien_Tram1

DECLARE @MaChiNhanh int

SET @MaChiNhanh = (SELECT MaChiNhanh FROM inserted)

DECLARE @DiaChi nvarchar(250)

SET @DiaChi = (SELECT DiaChi FROM ChiNhanh WHERE MaChiNhanh =

@MaChiNhanh)

DECLARE @MaNhanVien int

SET @MaNhanVien = (SELECT MaNhanVien FROM inserted)

DECLARE @MaChiNhanhNV int

SET @MaChiNhanhNV = (SELECT MaChiNhanh FROM NhanVien WHERE MaNhanVien

= @MaChiNhanhNV)

DECLARE @DiaChiNV nvarchar(250)

SET @DiaChiNV = (SELECT DiaChi FROM ChiNhanh WHERE MaChiNhanh =

@MaChiNhanhNV)

IF(@DiaChi LIKE N'%Hà Nội%' AND @DiaChiNV LIKE N'%Hà Nội%')

PRINT N'Thành công' ELSE

BEGIN

PRINT N'Không thành công' END

GO

Trang 21

IF OBJECT_ID ('trg_PhieuRutTien_Tram1','TR') IS NOT NULL

DROP TRIGGER trg_PhieuRutTien_Tram1

DECLARE @MaChiNhanh int

SET @MaChiNhanh = (SELECT MaChiNhanh FROM inserted)

DECLARE @DiaChi nvarchar(250)

SET @DiaChi = (SELECT DiaChi FROM ChiNhanh WHERE MaChiNhanh =

@MaChiNhanh)

DECLARE @MaNhanVien int

SET @MaNhanVien = (SELECT MaNhanVien FROM inserted)

DECLARE @MaChiNhanhNV int

SET @MaChiNhanhNV = (SELECT MaChiNhanh FROM NhanVien WHERE MaNhanVien

= @MaChiNhanhNV)

DECLARE @DiaChiNV nvarchar(250)

SET @DiaChiNV = (SELECT DiaChi FROM ChiNhanh WHERE MaChiNhanh =

@MaChiNhanhNV)

IF(@DiaChi LIKE N'%Hà Nội%' AND @DiaChiNV LIKE N'%Hà Nội%')

PRINT N'Thành công' ELSE

BEGIN

PRINT N'Không thành công' END

GO

Trang 22

2.3 Một số truy vấn phân tán trong hệ quản trị CSDL

2.3.1 Tạo Link Server

2.3.2 Thực hiện đồng bộ dữ liệu từ Server

USE master

GO

exec sp_addlinkedserver @server = 'LINK_ChiNhanh1', @srvproduct = '', @provider = 'SQLNCLI',

@datasrc = ‘CHINHANH1', @catalog = ‘VietinBank1’

GO

exec sp_addlinkedserver @server = 'LINK_ChiNhanh2', @srvproduct = '', provider = 'SQLNCLI',

@datasrc = ‘CHINHANH2', @catalog = ‘VietinBank2’

GO

exec sp_addlinkedserver @server = 'LINK_ChiNhanh3', @srvproduct = '', @provider = 'SQLNCLI',

@datasrc = ‘CHINHANH3', catalog = ‘VietinBank3’

GO

Truy vấn qua LinkServer

use master

GO

select * from LINK_ChiNhanh1.VietinBank1.dbo.NhanVien

select * from LINK_ChiNhanh2.VietinBank2.dbo.NhanVien

select * from LINK_ChiNhanh3.VietinBank3.dbo.NhanVien

EXEC msdb.dbo.sp_start_job N’SERVER-PC-VietinBank-rep-ChiNhanh1’

EXEC msdb.dbo.sp_start_job N’SERVER-PC-VietinBank-rep-ChiNhanh2’

EXEC msdb.dbo.sp_start_job N’SERVER-PC-VietinBank-rep-ChiNhanh3’

Trang 23

3 Cài đặt hệ thống trên CSDL phân tán

3.1 Yêu cầu phần cứng và phần mềm

3.2 Thiết kế giao diện chương trình trên các trạm 3.3 Cài đặt và thử nghiệm

Ngày đăng: 07/04/2016, 08:13

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w