Microsoft Word - Template distribute.doc

Tài liệu tương tự
Stored Procedures Stored Procedures Bởi: Khoa CNTT ĐHSP KT Hưng Yên Trong những bài học trước đây khi dùng Query Analyzer chúng ta có thể đặt tên và s

View, Procedure, Function & Trigger

Trang 1 USE QLDA -- Create table TAODB create table TAODB(name varchar(20),logic_file varchar(20),os_file varchar(100),db_size smallint,db_maxsize sma

Chương 1:

Microsoft Word - cu_phap_sqlite.docx

Microsoft Word - su_dung_sqlite_voi_php.docx

BẢO MẬT HỆ THỐNG THÔNG TIN

Microsoft PowerPoint - Chuong_06.ppt

Cách tạo User và Thiết kế Database Cách tạo User và Thiết kế Database Bởi: Khoa CNTT ĐHSP KT Hưng Yên Cách tạo một User Database Chúng ta có thể tạo m

KẾ HOẠCH THỰC TẬP CƠ SỞ DỮ LIỆU I. MỤC ĐÍCH, YÊU CẦU Mục đích: Giúp sinh viên rèn luyện các kỹ năng về xây dựng cơ sở dữ liệu, cài đặt, quản trị, thao

HỌC VIỆN KỸ THUẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập Tự do Hạnh phúc ĐỀ CƯƠNG CHI TIẾT HỌC PHẦN CÔNG NGHỆ CLI

Giới thiệu về ADO.NET Giới thiệu về ADO.NET Bởi: phamvanviet truonglapvy Trong thực tế, có rất nhiều ứng dụng cần tương tác với cơ sở dữ liệu..net Fra

Thực hành hàm kết hợp và gom nhóm Thực hành hàm kết hợp và gom nhóm Bởi: Khoa CNTT ĐHSP KT Hưng Yên Nhắc lại lý thuyết Hàm kết hợp Hàm count(), min(),

HỌC VIỆN KỸ THUẬT QUÂN SỰ

WICELL User Guide Smart Cloud Wicell Controller Standard Version Manual version

Các thao tác với CSDL Các thao tác với CSDL Bởi: Khoa CNTT ĐHSP KT Hưng Yên Đọc (Select) dữ liệu trong bảng CSDL & hiển thị ra màn hình. Để đọc dữ liệ

Microsoft Word - Co so du lieu phan tan - cap nhat

SQL SQL Bởi: phamgiatien phamthephi SQL MỤC ĐÍCH Giới thiệu một hệ CSDL chuẩn, SQL, các thành phần cơ bản của của nó. YÊU CẦU Hiểu các thành phần cơ b

BÀI TẬP THỰC HÀNH

Microsoft Word - Lab09 - WebSieuthisach.doc

Giáo trình hệ quản trị cơ sở dữ liệu SQL - ĐHCNHN Biên tập bởi: Tổ HTTT Đại học Công nghiệp Hà Nội

Slide 1

IPSec IPSec Bởi: Phạm Nguyễn Bảo Nguyên Chúng ta đã biết khi ta sao chép dữ liệu giữa 2 máy hoặc thông qua mạng VPN để nâng cao chế độ bảo mật người q

Truy vấn, Ràng buộc, Trigger Truy vấn, Ràng buộc, Trigger Bởi: Ths. Phạm Hoàng Nhung SQL (Structured Query Language) là ngôn ngữ truy vấn cấu trúc đượ

Kỹ thuật phần mềm ứng dụng

Kết nối và thao tác với CSDL trong ASP Kết nối và thao tác với CSDL trong ASP Bởi: Khoa CNTT ĐHSP KT Hưng Yên Qui tắc chung - Tạo đối tượng Connection

Tìm hiểu ngôn ngữ lập trình Visual Basic Tìm hiểu ngôn ngữ lập trình Visual Basic Bởi: Khuyet Danh Tìm hiểu ngôn ngữ lập trình Visual Basic Tổng quan

Slide 1

THƯ VIỆN TRUNG TÂM ĐHQG-HCM PHÒNG PHỤC VỤ ĐỘC GIẢ * I. CỔNG TRA CỨU & TRUY CẬP TÀI LIỆU KHOA HỌC 3 I. MỤC LỤC TRỰC TUYẾN TVTT Tìm lướt:

Bài 4 Tựa bài

TRƯỜNG CAO ĐẲNG KỸ THUẬT LÝ TỰ TRỌNG KHOA CÔNG NGHỆ THÔNG TIN ][ PHÂN TÍCH & THIẾT KẾ HỆ THÔNG. ĐỀ TÀI: QUẢN LÝ QUÁN CAFFEE. G iáo Viê

Hướng dẫn sử dụng

Microsoft Word - Co so du lieu - cap nhat

Backup Cloud Server

MCSA 2012: Distributed File System (DFS) MCSA 2012: Distributed File System (DFS) Cuongquach.com Ở bài học hôm nay, mình xin trình bày về Distributed

Các Vấn Đề Cơ Sở Của Khoa Học Máy Tính Th.S GVC Tô Oai Hùng BAØI TAÄP CHÖÔNG 1 1. Viết giải thuật để mô tả thói quen mỗi buổi sáng của bạn, từ lúc ngh

CÔNG TY TNHH GIẢI PHÁP TRỰC TUYẾN TOTAL 60 Đường 18, Phường Hiệp Bình Chánh, Quận Thủ Đức, TP.HCM MST:

Bài thực hành 6 trang 106 SGK Tin học 10

Microsoft Word - Cau hoi on tap.doc

Công cụ trong VB6 Công cụ trong VB6 Bởi: FPT Software Để tìm hiểu về các công cụ trong VB chúng ta sẽ đề cập tới Add-in Các công cụ trong add-in Trình

Chương 1:

HỘI THI TIN HỌC TRẺ TỈNH AN GIANG ĐỀ CHÍNH THỨC ĐỀ THI LÝ THUYẾT BẢNG A - KHỐI TIỂU HỌC Khóa ngày: Thời gian : 20 phút (không kể thời gian

(Tái bản lần thứ hai)

HƯỚNG DẪN SỬ DỤNG HỆ THỐNG E-LEARNING Version 1.2 Công Ty TNHH Uratek Website: TP.HCM, 11/2017

CsdlHangkhong

Hướng dẫn sử dụng DONGA ONLINE ---o0o--- HƯỚNG DẪN SỬ DỤNG PHẦN MỀM DONGA ONLINE Version 3.0

HƯỚNG DẪN SỬ DỤNG DỊCH VỤ STORAGE.COM.VN

Chương 2 Tầng vật lý

Microsoft Word - session_tracking_trong_servlet.docx

TÀI LIỆU HƯỚNG DẪN SỬ DỤNG WEBSITE HRM MỤC LỤC CHƯƠNG 1 ĐĂNG NHẬP VÀ ĐĂNG XUẤT Đăng nhập hệ thống Đăng xuất hệ thống...3 CHƯƠNG 2 THÔN

HEADING 1: PHẦN 1: QUẢN LÝ VÀ DUY TRÌ HỆ ĐIỀU HÀNH

Phân tích và thiết kế hệ thống thông tin

Co s? d? li?u (Database)

Hệ điều hành Bài tập tuần 6 1 Quản lý bộ nhớ Bài tập 1 : Xem thông tin bộ nhớ 1. Sử dụng top, ps đọc thông tin về kích thước vùng nhớ của 1 tiến trình

NGÔN NGƯ LÂ P TRIǸH Biên tập bởi: nguyenvanlinh

Microsoft Word - Khai thac AWS EC2_Web hosting.docx

HƯỚNG DẪN SỬ DỤNG CLOUD STORAGE Trân trọng cám ơn các bạn đã sử dụng dịch vụ Cloud Storage của Viettel IDC. Tài liệu hướng dẫn sử dụng nhanh được biên

Microsoft Word - fragment_trong_android.docx

Slide 1

Microsoft Word - server_response_trong_servlet.docx

Hướng dẫn sử dụng dịch vụ FTP

Điểm ĐỀ THI HK 1 ( ) Môn: Kỹ thuật số Thời gian: 110 phút (SINH VIÊN KHÔNG ĐƯỢC SỬ DỤNG TÀI LIỆU) Chữ kí giám thị HỌ TÊN:. MSSV: NHÓM:.. SINH

ĐÁP ÁN 150 CÂU HỎI TIN HỌC KỲ THI NÂNG HẠNG GIÁO VIÊN TỈNH QUẢNG NAM 2018 Tác giả: Lê Quang Lưu HĐH là tập hợp các chương trình được tổ

Trường Cao Đẳng Kỹ Thuật Lý Tự Trọng PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG THÔNG TIN ĐỀ TÀI : Phân Tích Và Thiết Kế Hệ Thống Quản Lý Tour Du Lịch Giáo viên h

Microsoft Word - TNC VIETNAM - Huong dan tong quat PM.doc

TRƯỜNG Đ CK Joel Murach lay Harris TÜ SACH BẢN QUYỄN FPT Polytechnic P H P v ä MySQL Murach's PHP and MySQL Khởi động nhanh với PHP & MySQL

PowerPoint Template

OpenStax-CNX module: m Giới thiệu về ngôn ngữ C và môi trường turbo C 3.0 ThS. Nguyễn Văn Linh This work is produced by OpenStax-CNX and licens

Thư viện đề thi thử lớn nhất Việt Nam 40 CÂU TRẮC NGHIỆM ĐỊA LÝ VIỆT NAM Câu 1: Nguyên nhân nào làm cho thiên nhiên Việt Nam khác hẳn với thiên nhiên

Tạo máy chủ ảo Linux và cấu hình SSH

PHẦN 8: LỊCH TUẦN I. Giới thiệu: Chương trình lịch tuần với các tính năng như sau: Lịch chạy trên giao diện WEB với CSDL chạy tập trung. Theo dõi lịch

mySQL - Part 1 - Installation

HƯỚNG DẪN SỬ DỤNG HỆ THỐNG E-LEARNING Version 2.9 Công Ty TNHH Uratek Website: TP.HCM, 7/2018

XJ-UT311WN_XJ-UT351WN

Domain Name System - DNS Domain Name System - DNS Bởi: Phạm Nguyễn Bảo Nguyên Như chúng ta đã biết DHCP Server có tác dụng cấp phát IP cho các Client

PHÁT TRIỂN BỀN VỮNG VÀ CÁC KHÁI NIỆM NỀN TẢNG

ISA Server - Installation ISA Server - Installation Bởi: Phạm Nguyễn Bảo Nguyên Chúng ta không thể phủ nhận rằng trong khoảng vài năm trở lại đây Inte

TÀI LIỆU HƯỚNG DẪN CÀI ĐẶT HƯỚNG DẪN CÀI ĐẶT VÀ KIỂM TRA ỨNG DỤNG QUẢN LÝ BÁN HÀNG

CÔNG TY CỔ PHẦN ĐẦU TƯ VÀ XÂY DỰNG CÔNG TRÌNH 3 Địa chỉ: Số 136/1 Trần Phú Phường 4 Quận 5 TP. Hồ Chí Minh. Báo cáo của Ban giám đốc và Báo cáo tài ch

Tin học Quản lý

2014 Encyclopædia Britannica, Inc.

PowerPoint Presentation

Hik-Connect làgì? Hướng dẫn sử dụng Hik-Connect Tính năng chia sẻ (Share) Dịch vụ lắp đặt camera quan sát uy tín chất lượng, hệ thống đại

Trường ĐHBK Hà Nội Khoa Điện Bộ môn Điều khiển Tự động Tài liệu hướng dẫn thực hành: KĨ THUẬT LẬP TRÌNH C/C++ Bài 1: Lập trình cơ sở 1 Mục đích bài th

PX870/770_EN

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc CHƯƠNG TRÌNH ĐÀO TẠO ĐẠI HỌC NG

1497_QD-TTg

Hãy chọn phương án đúng CÂU HỎI TRẮC NGHIỆM TIN HỌC 7 HK1 Câu 1: Bảng tính thường được dùng để: a. Tạo bảng điểm của lớp em b. Bảng theo dõi kết quả h

Hướng dẫn sử dụng Phần mềm Quản lý Đoàn viên

Trường Đại học Giáo dục - Đại học Quốc gia Hà Nội triển khai tổ chức các lớp bổ sung kiến thức cho đối tượng dự thi cao học năm Thông tin cụ thể

Trung Tâm Gia Sư Tài Năng Việt Đề Số 1 Câu 1: Sau khi thực hiện đoạn chương trình sau, giá trị của biến S bằng bao nhiêu: S

Thư viện HUFLIT Tài liệu hướng dẫn sử dụng CSDL ProQuest TÀI LIỆU HƯỚNG DẪN SỬ DỤNG CSDL PROQUEST 1 GIỚI THIỆU CHUNG ProQuest là một cơ sở dữ liệu đa

Thiết kế website động với mã nguồn Drupal 7 - Phần 1

DANH SÁCH ĐỀ TÀI MỘN HỌC CSHARP (NÂNG CAO)

From the Tournament-Database of Chess-Results Organizer(s) : Sở Văn hóa và Thể thao Thành phố Hồ Chí Minh Federation : Vietna

iCeeNee iOS User's Manual.docx

Chương II - KIẾN TRÚC HỆ ĐIỀU HÀNH

BỘ GIÁO DỤC VÀ ĐÀO TẠO

Yeastar S50 VoIP PBX Installation Guide Version 1.0 Jun. 2016

Microsoft Word - client_request_trong_servlet.docx

Bản ghi:

THIẾT KẾ ỨNG DỤNG 1. Giới thiệu chức năng Ứng dụng quản lý sản xuất nhiều phân xưởng được áp dụng để minh họa về những gì tìm hiểu được về cơ sở dữ liệu phân tán áp dụng vào thực tế. Chương trình QL Sản xuất Quản lý nhân viên Quản lý SP xuất xưởng Cập nhập thông tin Thống kế tình hình SX Cập nhật SP xuất xưởng Sơ đồ chức năng hệ thống quản lý sản xuất nhiều phân xưởng. 2. Các bảng cho CSDL tập trung Hệ thống gồm 4 bảng với các quan hệ như hình sau: Các bảng cho CSDL tập trung cho hệ thống quản lý sản xuất nhiều phân xưởng. Giả sử ứng dụng cần thống kê tính toán tình hình sản xuất tại các phân xương thuộc một địa phương TinhTP) 3. Thiết kế phân mảnh ngang Giả sử ứng dụng được đặt ở 2 nơi Hà Nội và HCM là 2 nơi đặt phân xưởng sản xuất. Ta thiết kế Phanxuong phân mảnh ngang dựa theo TinhTP giả sử TinhTP có 2 giá trị HN, HCM đại diện cho 2 nơi. Nhanvien được phân mảnh ngang dẫn xuất theo Phanxuong dựa vào MaPX Sanxuat được phân mảnh ngang dẫn xuất theo Phanxuong dựa vào MaPX Sanpham được nhân bản ở 2 nơi và được đồng bộ dữ liệu. Ta có các mảnh ngang như sau: PhanxuongHCM=σ TinhTP= HCM Phanxuong) PhanxuongHN=σ TinhTP= HN Phanxuong) 1

NhanvienHCM=Nhanvien < PhanxuongHCM Phép nữa kết semi Join) NhanvienHN=Nhanvien < PhanxuongHN SanxuatHCM=Sanxuat < PhanxuongHCM SanxuatHN=Sanxuat < PhanxuongHN Vẽ cây phân mảnh dẫn xuất PhanxuongHCM PhanxuongHN NhanvienHCM SanxuatHCM NhanvienHN SanxuatHN 4. Cài đặt CSDL tại các Server 4.1 Cài đặt Server databe cho ứng dụng trên ServerHCM ServerHCM cài đặt CSDL QLSanxuatHCM gồm 4 bảng : use mter if existsselect name from sysdatabes where name='qlsanxuathcm') drop databe QLSanxuatHCM create databe QLSanxuatHCM use QLSanxuatHCM Create Table PhanxuongHCM MaPX char4) constraint pk_mapx primary key, TenPX nvarchar50) not null, DiachiPX nvarchar100) null, TinhTP nvarchar20) constraint chk_noi checktinhtp='hcm') ) 2

Create table NhanvienHCM MaNV char6) constraint pk_manv primary key, HotenNV nvarchar50) not null, DiachiNV nvarchar100) null, MaPX char4) constraint fk_mapx1 references PhanxuongHCMMaPX), Trinhdo nvarchar30) not null ) Create table Sanpham MaSP char6) constraint pk_masp Primary key, TenSP nvarchar50) not null, Mota nvarchar100) null ) Create table SanxuatHCM MaPX char4) constraint fk_mapx2 references PhanxuongHCMMaPX), MaSP char6) constraint fk_masp references SanphamMaSP), Ngay smalldatetime not null, Soluong integer constraint chk_soluong CheckSoluong>=0), constraint pk_sanxuat primary keymapx,masp,ngay) ) 4.2 Cài đặt Server Databe cho ứng dụng trên ServerHN ServerHCM cài đặt CSDL QLSanxuatHCM gồm 4 bảng như sau : use mter if existsselect name from sysdatabes where name='qlsanxuathn') drop databe QLSanxuatHN create databe QLSanxuatHN use QLSanxuatHN 3

Create Table PhanxuongHN MaPX char4) constraint pk_mapx primary key, TenPX nvarchar50) not null, DiachiPX nvarchar100) null, TinhTP nvarchar20) constraint chk_noi checktinhtp='hn') ) Create table NhanvienHN MaNV char6) constraint pk_manv primary key, HotenNV nvarchar50) not null, DiachiNV nvarchar100) null, MaPX char4) constraint fk_mapx1 references PhanxuongHNMaPX), Trinhdo nvarchar30) not null ) Create table Sanpham MaSP char6) constraint pk_masp Primary key, TenSP nvarchar50) not null, Mota nvarchar100) null ) Create table SanxuatHN MaPX char4) constraint fk_mapx2 references PhanxuongHNMaPX), MaSP char6) constraint fk_masp references SanphamMaSP), Ngay smalldatetime not null, Soluong integer constraint chk_soluong CheckSoluong>=0), constraint pk_sanxuat primary keymapx,masp,ngay)) 4.3 Cài đặt linkserver Server đặt tại TP.HCM có tên PHET cài đặt Databe QLSanxuatHCM Chứa thông tin quản lý sản xuất tại TP.HCM) gồm 4 bảng : PhanxuongHCM,NhanvienHCM, SanxuatHCM, Sanpham Server đặt tại TP.HN có tên KHOA cài đặt Databe QLSanxuatHN Chứa thông tin quản lý sản xuất tại Hà Nội ) gồm 4 bảng : PhanxuongHN, NhanvienHN, SanxuatHN, Sanpham Tại ServerHCM PHET) cài đặt linkserver đến ServerHN KHOA) bằng đoạn mã sau Thực thi trong Query Analyzer) use mter Exec sp_addlinkedserver @server='khoa', @srvproduct='sqlserver OLEDB Provider', @provider='sqloledb', 4

@datrc='khoa' Exec sp_addlinkedsrvlogin 'Khoa','false',NULL,'sa','sa' ---Để kiểm tra select * from Khoa.QLSanxuatHN.dbo.PhanxuongHN Tương tự tại ServerHN KHOA) cài đặt linkserver đến ServerHCM PHET) bằng đoạn mã sau Thực thi trong Query Analyzer) use mter Exec sp_addlinkedserver @server='phet', @srvproduct='sqlserver OLEDB Provider', @provider='sqloledb', @datrc='phet' Exec sp_addlinkedsrvlogin 'PHET','false',NULL,'sa','sa' ---Để kiểm tra select * from Khoa.QLSanxuatHCM.dbo.PhanxuongHCM 5. Cài đặt các khung nhìn phân tán 5.1. Trên serverhcm Phet) Cài đặt các khung nhìn phân tán use QLSanxuatHCM Create View Phanxuong Select * from PhanxuongHCM Union Select * from Khoa.QLSanxuatHN.dbo.PhanxuongHN ----------------------------------------------------------------------------------- Create View Nhanvien Select * from NhanvienHCM Union Select * from Khoa.QLSanxuatHN.dbo.NhanvienHN Create View Sanxuat Select * from SanxuatHCM Union Select * from Khoa.QLSanxuatHN.dbo.SanxuatHN -------------------------------------------------------------- Create View SanphamSX Select Sp.MaSp,TenSP,Mota,MaPX,Ngay,Soluong from Sanpham SP, Sanxuat SX Where Sp.MaSP=SX.MaSP 5.2. Trên serverhn Khoa) Cài đặt các khung nhìn phân tán use QLSanxuatHN 5

Create View Phanxuong Select * from PhanxuongHN Union Select * from Khoa.QLSanxuatHCM.dbo.PhanxuongHCM ----------------------------------------------------------------------------------- Create View Nhanvien Select * from NhanvienHN Union Select * from Khoa.QLSanxuatHCM.dbo.NhanvienHCM Create View Sanxuat Select * from SanxuatHN Union Select * from Khoa.QLSanxuatHCM.dbo.SanxuatHCM -------------------------------------------------------------- Create View SanphamSX Select Sp.MaSp,TenSP,Mota,MaPX,Ngay,Soluong from Sanpham SP, Sanxuat SX Where Sp.MaSP=SX.MaSP 6. Cài đặt các Stored Procedure xử lý 6.1. Trên serverhcm Phet) Cài đặt các Stored Procedure xử lý a. Nhập TinhTP, MaSP, Ngay cho biết số lượng sản phẩm đã sản xuất trên các phân xưởng theo ngày. Create Proc TimSLSanxuat @Noi varchar10), @MaSP Char6), @Ngay Varchar20) If @Noi='HCM' --Local Select SP.MaSP, TenSP, SoLuong From Sanpham SP, SanxuatHCM SX Where SP.MaSP=SX.MaSP and SP.MaSP=@MaSP and Ngay=@Ngay If @Noi='HN' --Remote Select SP.MaSP, TenSP, SoLuong From Sanpham SP, Khoa.QLSanxuatHN.dbo.SanxuatHN SX Where SP.MaSP=SX.MaSP and SP.MaSP=@MaSP and Ngay=@Ngay b. Thêm vào bảng Sanxuat thông tin gồm: MaSP, MaPX, Ngay, Soluong Create Proc NhapSPXuatxuong @Noi varchar10),@mapx Char4), @MaSP Char6), @Ngay Varchar20), @Soluong Integer If @Noi='HCM' --Local Insert Into SanxuatHCMMaPX,MaSP,Ngay,Soluong) 6

values @MaPX, @MaSP, @Ngay, @Soluong) If @Noi='HN' --Remote Insert Into Khoa.QLSanxuatHN.dbo.SanxuatHNMaPX,MaSP,Ngay,Soluong) values @MaPX, @MaSP, @Ngay, @Soluong) c. Xóa 1 dòng ra khỏi bảng Sanxuat Create Proc XoaSPXuatxuong @Noi varchar10),@mapx Char4), @MaSP Char6), @Ngay Varchar20) If @Noi='HCM' --Local Delete From SanxuatHCM Where MaPX=@MaPX and MaSP=@MaSP and Ngay=@Ngay If @Noi='HN' --Remote Delete From Khoa.QLSanxuatHN.dbo.SanxuatHN Where MaPX=@MaPX and MaSP=@MaSP and Ngay=@Ngay d. Cập nhật dữ liệu trong bảng sản xuất MaSP, MaPX, Ngay, Soluong) Create Proc SuaSPXuatxuong @Noi varchar10),@mapxcu Char4), @MaSPCu Char6), @NgayCu Varchar20), @Soluong Integer, @MaPXMoi Char4), @MaSPMoi Char6), @NgayMoi Varchar20) If @Noi='HCM' --Local Update SanxuatHCM Set MaPX=@MaPXMoi,MaSP=@MaSPMoi, Ngay=@NgayMoi,Soluong=@Soluong PXCu and MaSP=@MaSPCu and Ngay=@NgayCu If @Noi='HN' --Remote Update Khoa.QLSanxuatHN.dbo.SanxuatHN Set MaPX=@MaPXMoi,MaSP=@MaSPMoi, Ngay=@NgayMoi,Soluong=@Soluong PXCu and MaSP=@MaSPCu and Ngay=@NgayCu e. Thêm vào bảng Nhanvien MaNV, HoTenNV, DiachiNV, MaPX, Trinhdo) Create Proc NhapNV @MaNV Char6), @HotenNV nvarchar50), @MaPX varchar4),@trinhdo nvarchar30) Declare @Noi varchar20) --Lay gia tri Noi cua phan xuong trong Khung nhin phan tan Select @Noi=TinhTP From Phanxuong PX If @Noi='HCM' --Local Insert Into NhanvienHCMMaNV,HotenNV,DiachiNV,MaPX,Trinhdo) values @MaNV, @HotenNV, @DiachiNV, @MaPX, @Trinhdo) If @Noi='HN' --Remote Insert Into NhanvienHNMaNV,HotenNV,DiachiNV,MaPX,Trinhdo) values @MaNV, @HotenNV, @DiachiNV, @MaPX, @Trinhdo) f. Cập nhật thông tin phân xưởng 7

Create Proc DieuchinhPX @Ma Char4), @Noi varchar20), @Ten nvarchar50),@diachi nvarchar100) Declare @Noicu varchar20), @Tencu nvarchar50), @Diachicu nvarchar100) --Lay gia tri Noicu, Tencu,Diachicu Select @Noicu=TinhTP, @Tencu = TenPX, @Dichicu=DiachiPX From Phanxuong --Khung nhin phan tan Where MaPX=@Ma If@Noi=@Noicu) --chi cap nhat TenPX,DiachiPX tren khung nhin phan tan If@Ten<>@Tencu) Update Phanxuong Set TenPX=@Ten else Begin If@Noi='HCM' --Chuyen tu ServerHNKhoa) sang ServerHCMPhet) Begin ---Them vao Bang PhanxuongHCM Insert into PhanxuongHCMMaPX,TenPX,DiachiPX,TinhTP) Values@Ma, @Ten, @Diachi, 'HCM') ---Them vao Bang NhanvienHCM Insert into NhanvienHCMMaNV,HotenNV,DichiNV, MaPX, Trinhdo) Select MaNV,HotenNV,DiachiNV,@Ma, trinhdo From Khoa.QLsanxuatHN.dbo.NhanvienHN ---Them vao Bang SanxuatHCM Insert into SanxuatHCMMaPX,MaSP,Ngay,Soluong) Select @Ma,MaSp,Ngay,Soluong From Khoa.QLsanxuatHN.dbo.SanxuatHN ---Xoa ra khoi Bang NhanvienHN Delete From Khoa.QLSanxuatHN.dbo.NhanvienHN ---Xoa ra khoi Bang SanxuatHN Delete From Khoa.QLSanxuatHN.dbo.SanxuatHN End Else --Chuyen tu ServerHCMPhet) sang ServerHNKhoa) Begin ---Them vao Bang PhanxuongHN Insert into PhanxuongHNMaPX,TenPX,DiachiPX,TinhTP) Values@Ma, @Ten, @Diachi, 'HN') ---Them vao Bang NhanvienHN Insert into NhanvienHNMaNV,HotenNV,DichiNV, MaPX, Trinhdo) Select MaNV,HotenNV,DiachiNV,@Ma, trinhdo From Phet.QLsanxuatHN.dbo.NhanvienHN ---Them vao Bang SanxuatHCM Insert into SanxuatHNMaPX,MaSP,Ngay,Soluong) Select @Ma,MaSp,Ngay,Soluong 8

From Phet.QLsanxuatHCM.dbo.SanxuatHCM ---Xoa ra khoi Bang NhanvienHCM Delete From Phet.QLSanxuatHCM.dbo.NhanvienHCM where MaPX=@Ma ---Xoa ra khoi Bang SanxuatHCM Delete From Phet.QLSanxuatHCM.dbo.SanxuatHCM where MaPX=@Ma End End 6.2. Trên serverhcm Phet) Cài đặt các Procedure xử lý a. Nhập TinhTP, MaSP, Ngay cho biết số lượng sản phẩm đã sản xuất trên các phân xưởng theo ngày. Create Proc TimSLSanxuat @Noi varchar10), @MaSP Char6), @Ngay Varchar20) If @Noi='HN' --Local Select SP.MaSP, TenSP, SoLuong From Sanpham SP, SanxuatHCM SX Where SP.MaSP=SX.MaSP and SP.MaSP=@MaSP and Ngay=@Ngay If @Noi='HCM' --Remote Select SP.MaSP, TenSP, SoLuong From Sanpham SP, Phet.QLSanxuatHCM.dbo.SanxuatHCM SX Where SP.MaSP=SX.MaSP and SP.MaSP=@MaSP and Ngay=@Ngay b. Thêm vào bảng Sanxuat thông tin gồm : MaSP, MaPX, Ngay, Soluong Create Proc NhapSPXuatxuong @Noi varchar10),@mapx Char4), @MaSP Char6), @Ngay Varchar20), @Soluong Integer If @Noi='HN' --Local Insert Into SanxuatHNMaPX,MaSP,Ngay,Soluong) values @MaPX, @MaSP, @Ngay, @Soluong) If @Noi='HCM' --Remote Insert Into Phet.QLSanxuatHCM.dbo.SanxuatHCMMaPX,MaSP,Ngay,Soluong) values @MaPX, @MaSP, @Ngay, @Soluong) c. Xóa 1 dòng ra khỏi bảng Sanxuat Create Proc XoaSPXuatxuong @Noi varchar10),@mapx Char4), @MaSP Char6), @Ngay Varchar20) If @Noi='HN' --Local Delete From SanxuatHN Where MaPX=@MaPX and MaSP=@MaSP and Ngay=@Ngay If @Noi='HCM' --Remote 9

Delete From Phet.QLSanxuatHCM.dbo.SanxuatHCM Where MaPX=@MaPX and MaSP=@MaSP and Ngay=@Ngay d. Cập nhật dữ liệu trong bảng sản xuất MaSP, MaPX, Ngay, Soluong) Create Proc SuaSPXuatxuong @Noi varchar10),@mapxcu Char4), @MaSPCu Char6), @NgayCu Varchar20), @Soluong Integer, @MaPXMoi Char4), @MaSPMoi Char6), @NgayMoi Varchar20) If @Noi='HN' --Local Update SanxuatHN Set MaPX=@MaPXMoi,MaSP=@MaSPMoi,Ngay=@NgayMoi,Soluong=@Soluong PXCu and MaSP=@MaSPCu and Ngay=@NgayCu If @Noi='HCM' --Remote Update PHET.QLSanxuatHCM.dbo.SanxuatHCM Set MaPX=@MaPXMoi,MaSP=@MaSPMoi,Ngay=@NgayMoi,Soluong=@Soluong PXCu and MaSP=@MaSPCu and Ngay=@NgayCu e. Thêm vào bảng Nhanvien MaNV, HoTenNV, DiachiNV, MaPX, Trinhdo) Create Proc NhapNV @MaNV Char6), @HotenNV nvarchar50), @MaPX varchar4),@trinhdo nvarchar30) Declare @Noi varchar20) --Lay gia tri Noi cua phan xuong trong Khung nhin phan tan Select @Noi=TinhTP From Phanxuong PX If @Noi='HCM' --Local Insert Into NhanvienHCMMaNV,HotenNV,DiachiNV,MaPX,Trinhdo) values @MaNV, @HotenNV, @DiachiNV, @MaPX, @Trinhdo) If @Noi='HN' --Remote Insert Into NhanvienHNMaNV,HotenNV,DiachiNV,MaPX,Trinhdo) values @MaNV, @HotenNV, @DiachiNV, @MaPX, @Trinhdo) f. Cập nhật thông tin phân xưởng Create Proc DieuchinhPX @Ma Char4), @Noi varchar20), @Ten nvarchar50),@diachi nvarchar100) Declare @Noicu varchar20), @Tencu nvarchar50), @Diachicu nvarchar100) --Lay gia tri Noicu, Tencu,Diachicu Select @Noicu=TinhTP, @Tencu = TenPX, @Dichicu=DiachiPX From Phanxuong --Khung nhin phan tan Where MaPX=@Ma If@Noi=@Noicu) --chi cap nhat TenPX,DiachiPX tren khung nhin phan tan If@Ten<>@Tencu) Update Phanxuong Set TenPX=@Ten else 10

Begin If@Noi='HCM' --Chuyen tu ServerHNKhoa) sang ServerHCMPhet) Begin ---Them vao Bang PhanxuongHCM Insert into PhanxuongHCMMaPX,TenPX,DiachiPX,TinhTP) Values@Ma, @Ten, @Diachi, 'HCM') ---Them vao Bang NhanvienHCM Insert into NhanvienHCMMaNV,HotenNV,DichiNV, MaPX, Trinhdo) Select MaNV,HotenNV,DiachiNV,@Ma, trinhdo From Khoa.QLsanxuatHN.dbo.NhanvienHN ---Them vao Bang SanxuatHCm Insert into SanxuatHCMMaPX,MaSP,Ngay,Soluong) Select @Ma,MaSp,Ngay,Soluong From Khoa.QLsanxuatHN.dbo.SanxuatHN ---Xoa ra khoi Bang NhanvienHN Delete From Khoa.QLSanxuatHN.dbo.NhanvienHN ---Xoa ra khoi Bang SanxuatHN Delete From Khoa.QLSanxuatHN.dbo.SanxuatHN End Else --Chuyen tu ServerHCMPhet) sang ServerHNKhoa) Begin ---Them vao Bang PhanxuongHN Insert into PhanxuongHNMaPX,TenPX,DiachiPX,TinhTP) Values@Ma, @Ten, @Diachi, 'HN') ---Them vao Bang NhanvienHN Insert into NhanvienHNMaNV,HotenNV,DichiNV, MaPX, Trinhdo) Select MaNV,HotenNV,DiachiNV,@Ma, trinhdo From Phet.QLsanxuatHN.dbo.NhanvienHN ---Them vao Bang SanxuatHCM Insert into SanxuatHNMaPX,MaSP,Ngay,Soluong) Select @Ma,MaSp,Ngay,Soluong From Phet.QLsanxuatHCM.dbo.SanxuatHCM ---Xoa ra khoi Bang NhanvienHCM Delete From Phet.QLSanxuatHCM.dbo.NhanvienHCM 11

End End 7. Giao diện chương trình ---Xoa ra khoi Bang SanxuatHCM Delete From Phet.QLSanxuatHCM.dbo.SanxuatHCM 12

13

8. Những vấn đề chưa giải quyết Vấn đề khi một server chứa Phân xưởng bị hỏng thì hệ thống cũng không hoạt động được vấn đề nhân bản dữ liệu) Chưa giải quyết vần đề các giao dịch đồng thời xảy ra Chưa quan tâm đến việc Commit các giao dịch thành công và Rollback các giao dịch thất bại Và còn một số vấn đề khác nữa Trên đây là những vần đề quan trọng khi thực hiện một ứng dụng phân tán, nhưng do thời gian hạn hẹp nên chỉ thực hiện dược một ứng dụng nhỏ đơn giản: Giải quyết được các vần đề truy xuất dữ liệu, cập nhật dữ liệu giữa các mảnh. Trong tương lai sẽ phát triển hoàn thiện hơn. 14