1. Trang chủ
  2. » Luận Văn - Báo Cáo

CHUYỂN ĐỔI CÁC BẢNG TỪ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU SQLSERVER SANG MYSQL

47 1,2K 1
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

Tiêu đề Chuyển Đổi Các Bảng Từ Hệ Quản Trị Cơ Sở Dữ Liệu SQLSERVER Sang MYSQL
Tác giả Huỳnh Ngọc Đức
Người hướng dẫn TS. Nguyễn Thanh Bình
Trường học Đại Học Bách Khoa Đà Nẵng
Chuyên ngành Công Nghệ Thông Tin
Thể loại Luận văn tốt nghiệp
Năm xuất bản 2009
Thành phố Đà Nẵng
Định dạng
Số trang 47
Dung lượng 2,14 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Trên thực tế ngày nay, việc sử dụng thư điện tử, lướt trên các trang Web, trao đổi với các cơ sở dữ liệu và sử dụng các ứng dụng phân tán ngày càng trở nên phức tạp hơn

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, Fax (84-511) 842 771

Website: itf.ud.edu.vn, E-mail: cntt@edu.ud.vn

LUẬN VĂN TỐT NGHIỆP KỸ SƯ NGÀNH CÔNG NGHỆ THÔNG TIN

MÃ NGÀNH : 05115

ĐỀ TÀI : CHUYỂN ĐỔI CÁC BẢNG TỪ HỆ QUẢN TRỊ

CƠ SỞ DỮ LIỆU SQLSERVER SANG MYSQL

Mã số : 07TLT-03 Ngày bảo vệ : 16-17/06/2009

SINH VIÊN : HUỲNH NGỌC ĐỨC

ĐÀ NẴNG, 05/2009

Trang 2

Lời đầu tiên tôi xin bày tỏ lòng biết ơn sâu sắc đến tất cả quý thầy

cô, những người đã tận tụy dạy dỗ, truyền đạt kiến thức và kinh nghiệm quý báu cho tôi trong suốt năm năm học qua.

Tôi xin chân thành cảm ơn TS Nguyễn Thanh Bình - thuộc khoa Công nghệ thông tin, trường Đại học Bách khoa Đà Nẵng, người đã hướng dẫn, tạo điều kiện thuận lợi và giúp đỡ tôi trong suốt thời gian làm đề tài.

Và để có được kết quả như ngày hôm nay, tôi rất biết ơn gia đình

đã động viên, khích lệ và tạo mọi điều kiện thuận lợi nhất trong suốt quá trình học tập cũng như quá trình thực hiện đề tài tốt nghiệp này Xin chân thành cảm ơn các bạn trong khoa Công nghệ thông tin, đặc biệt là các bạn lớp 07TLT đã ủng hộ, giúp đỡ, chia sẻ kiến thức, kinh nghiệm và tài liệu có được cho tôi trong quá trình nghiên cứu và thực hiện đề tài.

Một lần nữa xin chân thành cảm ơn!

Trang 3

LỜI CAM ĐOAN

Tôi xin cam đoan:

hướng dẫn trực tiếp của thầy TS Nguyễn Thanh Bình.

tác giả, tên công trình, thời gian, địa điểm công bố.

tôi xin chịu hoàn toàn trách nhiệm.

Sinh viên Huỳnh Ngọc Đức

Trang 4

MỞ ĐẦU 1

I Bối cảnh đề tài 1

II Giới thiệu đề tài 1

III Nhiệm vụ thực hiện 1

1 Công nghệ 1

2 Ứng dụng 1

IV Bố cục trình bày 1

CHƯƠNG 1 2

CƠ SỞ LÝ THUYẾT 2

I Công nghệ Dot NET 2

1 Cấu trúc Net Framework 2

2 Managed mođule 5

3 Metadata 6

4 Common Intermediate Language (CIL) 6

5 Assembly 7

6 Manifest 8

II Microsoft SQL Server 2005 9

1 SQL Server Management Studio 10

2 Catalog views 11

3 Metadata function 11

4 Stored Procedrures 11

III ADO.Net 11

1 Mô hình làm việc của ADO 11

2 Thuận lợi của ADO.Net 12

3 Cấu trúc của ADO.Net 13

4 Các thành phần của ADO.Net 13

CHƯƠNG 2 16

PHÂN TÍCH HỆ THỐNG 16

I Giới thiệu bài toán: 16

II Định hướng xây dựng chương trình 16

1 Các chức năng 16

2 Giải pháp xây dựng chương trình 16

III Xây dựng mô hình Use Case 17

1 Xác định Actor và Use Case 17

2 Mô hình Use Case 18

IV Đặt tả Use Case 18

1 Use Case Kết nối cơ sở dữ liệu 18

2 Use Case xem cấu trúc 19

3 Use Case xem lược đồ 20

Trang 5

4 Use Case xem dữ liệu 20

5 Use Case kết nối MySQL 21

6 Use Case chuyển đổi tất cả các bảng 22

7 Use Case chuyển đổi với bảng lựa chọn 23

CHƯƠNG 3 25

THIẾT KẾ HỆ THỐNG 25

I Hiện thực hóa các Use Case ở mức thiết kế 25

II Sơ đồ lớp 29

1 Thiết kế chi tiết các lớp 29

2 Mối quan hệ giữa các lớp 33

CHƯƠNG 4 34

PHÁT TRIỂN ỨNG DỤNG 34

I Môi trường phát triển chương trình 34

II Một số kết quả đạt được 34

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 39

Trang 6

Hình 1.1: Visual Studio.Net và Net Framework 3

Hình 1.2: Các thành phần của CLR 4

Hình 1.3: Mô hình thực thi ứng dụng Net 5

Hình 1.4: Sơ đồ một assembly đa file 7

Hình 1.5: Mô hình làm việc của ADO 12

Hình 1.6: Cấu trúc của ADO.Net 13

Hình 1.7: Mô hình làm việc của DataSet 14

Hình 2.1: Mô hình chung cho việc chuyển đổi cơ sở dữ liệu 17

Hình 2.2: Sơ đồ Use Case của ứng dụng 18

Hình 3.1: Sơ đồ tuần tự của Use Case kết nối cơ sở dữ liệu 25

Hình 3.2: Sơ đồ tuần tự của Use Case xem cấu trúc cơ sở dữ liệu ở dạng cây 25

Hình 3.3: Sơ đồ tuần tự của Use Case xem dữ liệu Table 26

Hình 3.4: Sơ đồ tuần tự của Use Case xem lược đồ cơ sở dữ liệu 26

Hình 3.5: Sơ đồ tuần tự của Use Case chuyển đổi tất cả các bảng 27

Hình 3.6: Sơ đồ tuần tự của Use Case chuyển đổi với các bảng lựa chọn 28

Hình 3.7: Thiết kế chi tiết lớp KetNoiSqlServer 29

Hình 3.8: Thiết kế chi tiết lớp KetNoiMySQL 30

Hình 3.9: Thiết kế chi tiết lớp ThucThiScript 30

Hình 3.10: Thiết kế chi tiết lớp XuLy 31

Hình 3.11: Thiết kế chi tiết lớp XemDuLieu 31

Hình 3.12: Thiết kế chi tiết lớp ChuyenDoi 32

Hình 3.13: Sơ đồ lớp của ứng dụng 33

Hình 4.1: Giao diện chính khi khởi động ứng dụng 34

Hình 4.2: Giao diện kết nối với cơ sở dữ liệu SqlServer 35

Hình 4.3: Giao diện chính khi kết nối với cơ sở dữ liệu 35

Hình 4.4: Giao diện các chức năng trên câu cấu trúc 36

Hình 4.5: Dữ liệu của bảng 36

Hình 4.6: Chuyển đổi với các bảng được lựa chọn 37

Hình 4.7: Giao diện chuyển đổi thành công 37

Hình 4.8: Cơ sở dữ liệu vừa mới tạo ra 38

Trang 7

DANH MỤC BẢNG

Bảng 3.1: Mô tả các thuộc tính của lớp KetNoiSqlServer 29

Bảng 3.2: Mô tả các phương thức của lớp KetNoiSqlServer 29

Bảng 3.3: Mô tả các thuộc tính của lớp KetNoiMySql 30

Bảng 3.4: Mô tả các phương thức của lớp KetNoiMySQL 30

Bảng 3.5: Mô tả các phương thức của lớp ThucThiScript 30

Bảng 3.6: Mô tả phương thức của lớp XuLy 31

Bảng 3.7: Mô tả thuộc tính lớp XemDuLieu 31

Bảng 3.8: Mô tả các phương thức của lớp XemDuLieu 31

Bảng 3.9: Mô tả thuộc tính của lớp ChuyenDoi 32

Bảng 3.10: Mô tả phương thức của lớp ChuyenDoi 32

Trang 8

I Bối cảnh đề tài

Với nhiều loại hệ quản trị cơ sở dữ liệu như hiện nay, một người dùng có thể lựachọn một loại hệ quản trị cơ sở dữ liệu để phù hợp với nhu cầu sử dụng của mình Khi

đã có cơ sở dữ liệu của hệ quản trị cơ sở dữ liệu này mà người sử dụng muốn dùng cơ

sở dữ liệu đó ở hệ quản trị cơ sở dữ liệu khác thì một công việc thường thấy là chuyểnđổi từ hệ quản trị cơ sở dữ liệu này sang hệ quản trị cơ sở dữ liệu khác Một chươngtrình để chuyển đổi từ hệ quản trị cơ sở dữ liệu SqlServer qua MySQL có thể được sửdụng để đáp ứng một phần nào đó nhu cầu của người dùng hiện nay

II Giới thiệu đề tài

Với bối cảnh nêu trên, em đã thực hiện đề tài mang tên “Chuyển đổi các bảng từ

hệ quản trị cơ sở dữ liệu từ SqlServer qua MySQL” Chương trình ở đây được

cung cấp dưới hình thức Winform Với việc sử dụng chương trình dưới Desktop thìngười sử dụng dễ dàng sử dụng chương trình này

III Nhiệm vụ thực hiện

1 Công nghệ

 Tìm hiểu hệ quản trị cơ sở dữ liệu Microsoft SQL Server 2005

 Tìm hiểu hệ quản trị cơ sở dữ liệu MySQL

 Áp dụng ngôn ngữ mô hình hóa UML trong quá trình phân tích thiết kế

 Tìm hiểu và đưa ra các giải pháp trong quá trình thiết kế

2 Ứng dụng

 Nắm bắt xu hướng công nghệ và tìm hiểu nhu cầu của người dùng cũng như cácchương trình hiện có giữa các hệ quản trị cơ sở dữ liệu để tạo một chương trìnhmang tính chất cộng đồng

 Chương trình cung cấp dưới hình thức ứng dụng Desktop

 Chương trình Winform với giao diện quen thuộc giúp người dùng dễ sử dụng

Trang 9

CHƯƠNG 1

CƠ SỞ LÝ THUYẾT

I Công nghệ Dot NET

Trên thực tế ngày nay, việc sử dụng thư điện tử, lướt trên các trang Web, trao đổivới các cơ sở dữ liệu và sử dụng các ứng dụng phân tán ngày càng trở nên phức tạphơn, vì thế trình độ và kỹ thuật lập trình để tạo và bảo dưỡng các phần mềm cũng ngàycàng được yêu cầu cao hơn, tinh vi hơn Các nhà lập trình chúng ta hàng ngày phải đốidiện với COM, COM+, DCOM, SP, SOAP, XML, XSL,…, các bộ công cụ SDK(Software Developer Kit) phức tạp

Microsoft, cũng như đa số trong chúng ta, đã tạo nên ngày càng nhiều các công cụchuyên dùng Hệ điều hành hay các ứng dụng Windows đầy đủ tính năng hơn, theoyêu cầu của kỹ thuật công nghệ và do đó đã thêm vào không ít các SDK hay các tiêuchuẩn ở chỗ này, chỗ nọ Kết quả là hệ điều hành, thư viện, công cụ trở nên không cònkhả chuyển, quá nặng nề với biết bao các mở rộng Thế là bộ khung NET (.NETFRAMEWORK) ra đời, và nó thực sự làm thay đổi điều kể trên Đó không chỉ là mộtbước tiến, một nâng cấp hay một hợp nhất các công việc Mà đó chính là một điều vĩđại, một cuộc bức phá ngoạn mục Nó định nghĩa lại tất cả mọi điều bạn đã biết về lậptrình cho máy PC về tất cả mọi hình thù lẫn kích thước, kể cả về ngôn ngữ lập trìnhtrong đó

1 Cấu trúc Net Framework

.Net Framework là một nền tảng cung cấp các tiện nghi cho việc xây dựng và chạycác ứng dụng Các thành phần chính của nó là CLR(common language runtime) vàFCL(.Net Framework Class Library)

CLR trừu tượng hóa các dịch vụ của hệ điều hành và đóng vai trò là máy thực thicác ứng dụng chịu sự quản lý của nó FCL cung cấp API hướng đối tượng để viết cácứng dụng Net Khi viết các ứng dụng Net ta bỏ lại đằng sau các công cụ như WindowAPI, MFC, ATL, COM, v.v và chỉ sử dụng FCL

Trang 10

Cấu trúc cụ thể của Net Framework như sau:

Hình 1.1: Visual Studio.Net và Net Framework

Base Class Library cung cấp các lớp đối tượng để lập trình ứng dụng ADO.NET làphiên bản tiếp theo của ADO phục vụ cho việc truy cập dữ liệu từ hầu hết các nguồncung cấp dữ liệu hiện nay, đặc biệt có hỗ trợ XML Hai dòng ứng dụng chính của Net

là ứng dụng mạng (Web Form, Web service) và Window Form Common LanguageSpecification hỗ trợ các nhà phát triển phần mềm các công cụ để biên dịch, giao tiếpgiữa các ngôn ngữ VB, C++, C#, J#, … gọi chung là các ngôn ngữ họ Net

Common Language Runtime (CLR):

CLR là gì?

CLR là một máy thực thi nằm ở phần trên cùng của hệ điều hành và cung cấp mộtmôi trường ảo để chạy các ứng dụng dưới sự quản lý của nó Khi bạn chạy mộtchương trình, CLR nạp mô đun chứa managed code và thực thi mã lệnh bên trong nó.Managed code là mã lệnh viết để chạy trên CLR, gồm tập hợp các chỉ lệnh viết bằngmột ngôn ngữ giả ngôn ngữ assembly gọi là CIL (common intermediate language).Các chỉ lệnh CIL được biên dịch tức thời (JIT – just-in-time) sang ngôn ngữ máyvào thời điểm thực thi Trong hầu hết các trường hợp việc biên dịch chỉ được thực hiệnmột lần duy nhất vào thời điểm nó được gọi, sau đó được lưu vào bộ nhớ đệm cho lầnchạy sau khỏi bị gián đoạn

Trang 13

Đồ án tốt nghiệp Cơ sở lý thuyết

Trang 14

3 Metadata

Metadata của một module được lưu trong một tập các bảng Một bảng TypeDefchứa các kiểu (class, struct, enumeration,…) trong module Một bảng chứa các phươngthức được thừa kế bởi các kiểu này, một bảng khác liệt kê các trường, một bảng khácliệt kê các thuộc tính, v.v Một số các bảng liệt kê các tham chiếu đến các kiểu dữ liệubên ngoài module, các assembly chứa các kiểu dữ liệu bên ngoài, v.v

Các thông tin metadata phụ được lưu trữ bên ngoài các bảng trong vùng heap chứacác mục tham chiếu bởi các thực thể bảng Ví dụ, các tên lớp và các tên phương thứcđược lưu trong string heap, các string literals được lưu trong một heap riêng gọi làuser-string heap.Các bảng metadata và các heap cùng nhau định nghĩa mọi thứ mà bạnhay CLR có thể cần để biết được nội dung của mô đun và các phụ thuộc bên ngoài

4 Common Intermediate Language (CIL)

CIL thường được mô tả giống như một ngôn ngữ mô phỏng assembly bởi vì nó địnhnghĩa một tập hợp các chỉ lệnh trung gian cho bộ xử lý Tuy nhiên trong trường hợpnày, bộ xử lý là CLR chứ không phải bộ xử lý thông thường Ta không cần phải biếtCIL mới lập trình được NET Nhưng kiến thức cơ bản về CIL có thể thực sự hữu íchkhi một phương thức trong FCL không chạy theo cách ta mong muốn Khi đó ta dựavào mã CIL để tìm ra nguyên nhân

CIL có khoảng 100 chỉ lệnh, đóng vai trò trung gian giữa các ngôn ngữ C#, VB.Net,Visual C++, J#, … Các managed module là kết quả của việc biên dịch từ các ngôn ngữnày sang CIL .Net có sẵn công cụ ILDASM để trình bày cho người dùng nội dungcủa một mô đun ở dạng CIL

5 Assembly

Như đã nói ở trên, các trình biên dịch NET tạo ra các managed modun và cácmanaged modun chứa các CIL và metadata Nhưng CLR không có khả năng sử dụngtrực tiếp các managed modun Đó là do đơn vị cơ bản quản lý an toàn, versioning vàdeployment trong NET không phải các managed modun mà là các assembly

Một assembly là một tập hợp của một hoặc nhiều file được nhóm lại với nhau đểhình thành một đơn vị về logic Thuật ngữ file ở đây thường chỉ các managed modun,nhưng các assembly có thể bao gồm nhiều file không phải là các managed modun Hầuhết các assembly chỉ chứa một file (single-file assembly – assembly đơn file) nhưngcác assembly có thể và đôi khi chứa nhiều file (multifile assembly – assembly đa file).Tất cả các file tạo nên một assembly đa file phải nằm cùng trong cùng một thư mục

Trang 15

Đồ án tốt nghiệp Cơ sở lý thuyết

Khi bạn sử dụng trình biên dịch C# để sinh ra một file exe đơn giản, file exe nàykhông chỉ là một managed modun, nó là một assembly Hầu hết các trình dịch đều cóthể tạo các managed modun không phải là assembly và cũng có thể thêm các file khácvào assembly mà nó tạo ra

Hình 1.4: Sơ đồ một assembly đa file

Các assembly đa file thường được dùng để gắn các modun viết bằng các ngôn ngữkhác nhau lại với nhau, hay dùng để kết hợp các managed modun với các file thôngthường chứa các ảnh JPEG hoặc các tài nguyên khác

Các assembly còn được dùng để phân ứng dụng thành các phần rời rạc để tiệndownload Ví dụ, thử tưởng tượng có một người với kết nối dialup muốn downloadmột ứng dụng nhiều mb được chứa trong một assembly đơn file, việc download code

có thể kéo dài mãi Để giải quyết vấn đề này ta có thể chia đoạn mã thành nhiều file vàđặt các file đó vào một assembly đa file Bởi vì một modun không được nạp trừ khicần đến nó, người dùng sẽ không chịu phí download các phần của ứng dụng mà họkhông dùng

6 Manifest

Làm thế nào để CLR biết các file nào thuộc về một assembly Một trong số các fileasembly chứa một manifest (bản kê khai) Manifest chỉ là phần thêm vào trongmetadata Khi một trình biên dịch tạo ra một managed modun (cũng là assembly), nóchỉ đơn giản viết manifest vào metadata của module Một cách logic, manifest là mộtbản đồ dẫn đến nội dung của assembly

Các thành phần quan trọng của manifest gồm:

 Tên của assembly

Trang 16

 Danh sách các file khác của assembly

 Danh sách các kiểu dữ liệu nhập khẩu từ các file khác trong assembly vàthông tin ánh xạ các kiểu dữ liệu này với các file định nghĩa chúng

Định danh của một strongly named assembly được kết hợp bằng tên assembly, khóapublic, số phiên bản và culture string nếu có Bất kỳ một sự sửa đổi nhỏ nào CLR cũng

có thể nhận ra Khi CLR nạp một strongly named assembly, nó so sánh số phiên bảntrong assembly với số phiên bản mà ứng dụng đã được biên dịch cùng với assemblytrước đó Nếu các số không khớp thì CLR sẽ phát sinh một exception Điều này nhằmngăn ngừa trường hợp các DLL bị sửa đổi, biên dịch lại và phiên bản biên dịch lại nàychứa lỗi bên trong dẫn đến lỗi ứng dụng

II Microsoft SQL Server 2005.

SQL Server là ngôn ngữ truy vấn dữ liệu, là một bước nhảy vọt về phía cơ sở dữliệu đa người dùng của Microsoft, nhằm phục vụ cho những nhà phát triển hệ thống cơ

sở dữ liệu Hơn nữa, sự phát triển nhanh chóng của nhu cầu xây dựng những cơ sở dữliệu lớn theo mô hình client/server thì ngôn ngữ SQL càng phổ biến Trong mô hìnhclient/server, toàn bộ cơ sở dữ liệu được tập trung lưu trữ trên server, mọi thao tác xử

lý dữ liệu được thực hiện trên server bằng các lệnh SQL Client chỉ lấy thông tin từserver SQL được sử dụng để nhanh chóng tạo ra các trang Web động (Dynamic WebPage), nối kết giữa cơ sở dữ liệu và trang Web Khi người dùng yêu cầu, SQL sẽ thựchiện việc truy cập thông tin trong cơ sở dữ liệu trên server và hiển thị kết quả trêntrang Web SQL xử lý, phân tích thông tin, sửa đổi dữ liệu của các bảng vì SQL chỉlàm việc với những dữ liệu có cấu trúc dạng bảng (table) như Foxpro, Access SQL sửdụng Query cho phép nhiều người truy cập đồng thời, mỗi Query là một câu lệnh SQLđược xây dựng hoàn chỉnh và ghi lại để có thể mang ra sử dụng bất kỳ lúc nào SQL

Trang 17

Đồ án tốt nghiệp Cơ sở lý thuyết

có khả năng đáp ứng hầu hết các yêu cầu đối với việc cập nhật, phân tích dữ liệu từ cácbảng

Một số công dụng chính của SQL:

 Kết nối dữ liệu trên server, dùng lệnh SQL để tương tác với cơ sở dữ liệu

 Kết hợp các trang Web với cơ sở dữ liệu bằng lệnh SQL Tất cả các chứcnăng của SQL đều có thể được thực hiện bằng các công cụ khác của cácphần mềm có sử dụng SQL

 Thêm, cập nhật, xoá các bảng ghi trên toàn bảng theo những điều kiện khácnhau

 Câu lệnh đơn giản, rất ngắn gọn, dễ nhớ, dễ sử dụng

Có thể sử dụng SQL Server thực hiện việc xử lý giao dịch, lưu trữ và phân tích dữliệu

SQL Server thuộc họ các sản phẩm và công nghệ mà kho dữ liệu phù hợp với cácyêu cầu môi trường xử lý giao dịch trực tuyến và xử lý phân tích trực tuyến SQLServer là hệ quản trị cơ sở dữ liệu quan hệ với các tính năng sau:

 Quản lý kho dữ liệu cho các giao dịch

 Khả năng lưu trữ dữ liệu với các kiểu dữ liệu có miền giá trị rộng, bao gồmtext, numeric, XML và các đối tượng lớn

 Đáp trả các yêu cầu từ các ứng dụng client

 Sử dụng Transact-SQL, XML hay các câu lệnh SQL Server khác để gởi cácyêu cầu giữa ứng dụng client và SQL Server

Hệ quản trị cơ sở dữ liệu SQL Server là đáng tin cậy đối với:

 Việc duy trì các mối liên hệ giữa các đối tượng dữ liệu trong một cơ sở dữliệu

 Việc đảm bảo rằng dữ liệu được lưu trữ đúng đắn và các quy tắc định nghĩacác quan hệ giữa các đối tượng dữ liệu là không bị xâm phạm

Ta có thể xem cấu trúc dữ liệu hệ thống cơ sở dữ liệu bằng hai cách khác nhau Khicần xem thông tin về đối tượng cơ sở dữ liệu, cách dễ dàng nhất là sử dụng SQLServer Management Studio Khi viết các ứng dụng lấy cấu trúc dữ liệu các đối tượng

cơ sở dữ liệu, nên sử dụng Transact-SQL để lấy thông tin từ các danh mục được cung

Trang 18

cấp bởi hệ thống, nên tận dụng các hàm hệ thống hoặc thi hành các thủ tục được xâydựng sẵn của hệ thống.

1 SQL Server Management Studio.

SQL Server Management Studio cung cấp các công cụ trực quan để hiển thịmetadata của cơ sở dữ liệu và đồng thời thông qua môi trường này ta có thể dễ dàngquản lý nó Các công cụ thường gặp nhất:

 Object Explorer: là công cụ đồ họa cho việc định vị và quản lý các servers,databases và các đối tượng cơ sở dữ liệu

 Properties Window: mỗi đối tượng cơ sở dữ liệu bên trong Object Explorer

có một cửa sổ Properties tương ứng mà có thể truy xuất bằng cách click phảichuột tại đối tượng và chọn Properties

Reports: SQL Server Management Studio chứa một tập hợp các reports cho cácnodes khác nhau được cung cấp bên trong Object Explorer bởi SQL Server ReportServer Engine Các nodes thường được sử dụng có thể hiện các report bao gồm Server,Database, Login, Management

2 Catalog views.

Catalog views cho phép truy vấn metadata liên quan các đối tượng cơ sở dữ liệuSQL Server như tables, stored procedures và constraints

Catalog views được liệt kê trong thư mục Views Một thư mục Views cho mỗi cơ

sở dữ liệu trong SQL Server Management Studio Mặc dù có thể truy vấn chúng bằng

cú pháp Transact-SQL chuẩn đối với các views do người dùng định nghĩa, chúngkhông thực sự được cài đặt như các views truyền thống, có nghĩa là nó không truy vấntrên các tables mà thay vào đó nó truy vấn trực tiếp trên các metadata của hệ thống Cóhơn 200 catalog views và chúng được định nghĩa sẵn trong System Schema

3 Metadata function

SQL Server 2005 định nghĩa một số các loại hàm khác nhau trả về thông liên quan

cơ sở dữ liệu và các đối tượng cơ sở dữ liệu Ngược lại với catalog views trả về nhiềudòng thông tin, các hàm này chỉ trả về một giá trị đơn lẻ và được hiểu là hàm vôhướng

4 Stored Procedrures

SQL Server 2005 cung cấp nhiều Store Procedures của hệ thống lấy thông tinmetadata cơ sở dữ liệu Các thủ tục này cung cấp một khả năng thực hiện khác cho

Trang 19

Đồ án tốt nghiệp Cơ sở lý thuyết

việc truy vấn thông tin mà catalog views đã cung cấp và chấp nhận các tham số thủ tụccho phép sự tùy biến các tập kết quả

III ADO.Net

1 Mô hình làm việc của ADO

ActiveX Data Object (ADO) là phương thức truy cập cơ sở dữ liệu Nó là tập hợpcác đối tượng được sử dụng để truy cập cơ sở dữ liệu ADO kết nối đến cơ sở dữ liệuthông qua một cung cấp OLE DB

ADO là một mô hình lập trình định nghĩa việc xử lý được theo sau khi truy cập vàduy trì dữ liệu nguồn Sử dụng ADO, chúng ta có thể:

 Kết nối đến dữ liệu nguồn

 Chỉ định một lệnh để truy cập dữ liệu nguồn và thực thi nó

 Lưu trữ dữ liệu được trả lại như là kết quả của lệnh vào nơi lưu trữ, nơi mà

nó có thể được thao tác

 Cập nhật dữ liệu nguồn với dữ liệu được chỉnh sửa trong nơi lưu trữ

Client (Application)

ActiveX Data

Relational Database

ODBC

Non-Relational Database

Hình 1.5: Mô hình làm việc của ADO

2 Thuận lợi của ADO.Net

ADO.Net cho phép thỏa thuận sự thuận lợi dễ dàng xử lý của dữ liệu thao tác thôngqua trang web Sự thuận lợi của nó như sau:

 Thao tác bên trong: các thành phần được phát triển bởi các công cụ khác cóthể giao tiếp với mỗi thành phần khác thông qua các DataSet vì DataSetđược thao tác trong định dạng XML

 Sự thực thi: Trong ADO khi Recordset chuyển đổi dữ liệu với sự giúp đỡ củaCOM, dữ liệu trong Recordset phải được chuyển đổi sang kiểu dữ liệu COM

Trang 20

Tuy nhiên, xử lý sự chuyển đổi kiểu dữ liệu là không cần thiết trong trườnghợp của ADO.Net vì dataset được chuyển đổi sang XML vì DataSet là địnhdạng trong XML.

 Tính linh hoạt: trong trường hợp Recordset gia tăng số người sử dụng, số kếtnối được yêu cầu tăng lên và vượt quá duy trì nên sự kết nối đó cản trở sựthực thi của trình ứng dụng Mô hình không kết nối của mô hình ADO.Netkhông tạo ra các giá trị vượt quá Vì thế, khả năng trình ứng dụng có thểđược gia tăng mà không phải lo lắng về sự gia tăng giá trị vượt quá duy trì

 Tiêu chuẩn hóa: vì dữ liệu trong dataset có thể được duy trì ở mẫu dạngXML và chuyển đổi giữa các tầng trong mẫu của XML nên tiêu chuẩn hóa làđiều có thể

 Khả năng lập trình: trong ADO.Net ngôn ngữ giống như C# và VB được sửdụng cho lập trình

3 Cấu trúc của ADO.Net

Khi dữ liệu được yêu cầu thực thi, nó được đưa đến tầng trung gian từ cơ sở dữ liệurồi đến lớp hiển thị Khi chuyển dữ liệu đến giao diện người sử dụng, ADO.Netchuyển nó dạng XML Trong khi chuyển đổi dữ liệu từ một tầng này đến một tầngkhác, ADO.Net hiển thị dữ liệu dưới dạng XML rồi chuyển dữ liệu này đến thànhphần khác

Winforms

Data Set Data Set

Data Object

SQL Server Database

XML

Presentation

Hình 1.6: Cấu trúc của ADO.Net

4 Các thành phần của ADO.Net

Các thành phần của ADO.Net được thiết kế để truy cập và thao tác dữ liệutrong Net framwork ADO.Net gồm có hai thành phần chính sau:

a DataSet

Trang 21

Đồ án tốt nghiệp Cơ sở lý thuyết

DataSet là phần biểu thị trong bộ nhớ của một loạt dữ liệu hoàn chỉnh, bao gồm cácbảng, các mối quan hệ và các hạn chế DataSet không duy trì một tuyến nối với nguồn

dữ liệu, điều đó cho phép vận dụng cơ chế quản trị dữ liệu rời một cách đích thực Cóthể truy cập, điều tác, cập nhật hoặc xóa dữ liệu trong một DataSet rồi cập nhật nó vớinguồn dữ liệu ban đầu Do DataSet tách rời với nguồn dữ liệu nên ít có tranh chấp vềnguồn tài nguyên và ít bị khóa khoản tin hơn

DataSet được lập nên bởi ba tập hợp Tables, Relations và ExtendedProperties Cáctập hợp này tạo thành cấu trúc dữ liệu quan hệ của DataSet

 Tập hợp Tables: Thuộc tính DataSet.Tables trả về một đối tượngDataTablesCollection chứa 0 hoặc nhiều đối tượng DataTable MỗiDataTables biểu thị một bảng dữ liệu từ nguồn dữ liệu Mỗi DataTables đượctạo thành bởi một tập hợp Columns và một tập hợp Rows bao gồm 0 hoặcnhiều DataColumns hay DataRows theo thứ tự trên

 Tập hợp Relations: Thuộc tính DataSet.Relations trả về một đối tượngDataRelationsCollection chứa 0 hoặc nhiều đối tượng DataRelation Các đốitượng DataRelation định nghĩa một mối quan hệ cha-con giữa hai bảng dựavào các giá trị khóa ngoại

 Tập hợp ExtendedProperties: Thuộc tính DataSet.ExtendedProperties trả vềmột đối tượng PropertyCollection chứa 0 hoặc nhiều tính chất do người dùngđịnh nghĩa Có thể dùng tập hợp ExtendedProperties để lưu trữ dữ liệu tùybiến có liên quan đến DataSet, chẳng hạn như thời gian lúc DataSet được cấutạo

DataSet DataSet is passed to client

Client modifies the DataSet

Sends the data to DataSet

Modifies DataSet is passed to

server

Hình 1.7: Mô hình làm việc của DataSet

b .Net data provider

Trang 22

.Net data provider chứa đựng các đối tượng truy cập đến nơi lưu trữ cơ sở dữ liệutrong nhiều nguồn khác nhau Nó được lập nên bởi các tập hợp sau:

 Connection Object: dùng để nối với nguồn dữ liệu Các lớp tuyến nối lưu trữthông tin mà ADO.Net cần để nối với một nguồn dữ liệu dưới dạng mộtchuỗi nối

 Command Object: dùng để thực thi một lệnh SQL hoặc các thủ tục lưu trữsẵn dựa trên nguồn dữ liệu và truy lục một DataReader hay DataSet, hoặcthực thi một lệnh Insert, Update hay Delete dựa trên nguồn dữ liệu

 DataReader Object: một tệp kết quả nối (connected resulted) chỉ cho phépđọc (read only) và tiến tới (forward only) Ta không thể di chuyển qua nótheo cách thức ngẫu nhiên và cũng không thể dùng nó để cập nhật nguồn dữliệu Do đó nó cho phép truy cập dữ liệu cực kỳ nhanh khi đơn thuần ta chỉmuốn duyệt qua một lần dữ liệu DataReader chỉ có thể được trả về từ mộtlệnh gọi đến phương pháp ExecuteReader của một đối tượng Command, takhông thể trực tiếp tạo ra một đối tượng DataReader

 DataAdapter Object: dùng để điền một DataSet bằng dữ liệu từ nguồn dữliệu và cập nhật nguồn dữ liệu DataAdapter tác động như một cầu nối giữaDataSet rời và nguồn dữ liệu

Trang 23

CHƯƠNG 2

PHÂN TÍCH HỆ THỐNG

I Giới thiệu bài toán:

Để có thể tận dụng được hết những thế mạnh của các hệ quản trị cơ sở dữ liệu thìbài toán đặt ra là cần phải nghiên cứu tìm ra các giải pháp thực hiện việc chuyển đổiqua lại giữa các hệ quản trị cơ sở dữ liệu, giúp người dùng có thể dùng vào các mụcđích ứng dụng lưu trữ dữ liệu trong các loại hệ quản trị cơ sở dữ liệu khác nhau màkhông cần phải tạo ra lại cơ sở dữ liệu ban đầu trong hệ quản trị cơ sở dữ liệu khác.Các loại hệ quản trị cơ sở dữ liệu trong cùng một hãng Microsoft như SqlServer,Access có thể chuyển đổi qua lại cho nhau Trong phạm vi của đề tài này tôi chỉ chútrọng vào việc chuyển đổi các bảng từ hệ quản trị cơ sở dữ liệu SqlServer qua MySQL

“Chuyển đổi các bảng từ hệ quản trị cơ sở dữ liệu SqlServer qua MySQL” là mộtứng dụng nhằm chuyển dữ liệu từ hệ quản trị cơ sở dữ liệu SqlServer qua MySQL, từ

đó người dùng có thể sử dụng cơ sở dữ liệu trong hệ quản trị cơ sở dữ liệu MySQLgiống như cơ sở dữ liệu đích SqlServer Quá trình này được mô tả đơn giản như sau:Người dùng vào ứng dụng rồi truy cập vào cơ sở dữ liệu của hệ quản trị cơ sở dữ liệuSqlServer Ứng dụng sẽ thực hiện việc chuyển đổi dữ liệu và cấu trúc của các bảngtrong cơ sở dữ liệu của hệ quản trị cơ sở dữ liệu SqlServer sang hệ quản trị cơ sở dữliệu MySQL tương ứng Cấu trúc và dữ liệu của các bảng được lưu trong hệ quản trị

cơ sở dữ liệu MySQL Người dùng cũng có thể xem lại nội dung cơ sở dữ liệu của hệquản trị cơ sở dữ liệu MySQL để so sánh đối chiếu xem thử cấu trúc và dữ liệu của cácbảng có tương đương với nhau hay chưa

II Định hướng xây dựng chương trình

1 Các chức năng

 Truy cập vào cơ sở dữ liệu của hệ quản trị cơ sở dữ liệu SqlServer và hiển thịcấu trúc của cơ sở dữ liệu đó dưới dạng cây

 Xem lược đồ tổng quát của cơ sở dữ liệu

 Xem dữ liệu của bảng được chọn trên cây cấu trúc

 Chuyển đổi cấu trúc bảng và dữ liệu từ hệ quản trị cơ sở dữ liệu SqlServerqua MySQL với tất cả các bảng hoặc chỉ các bảng được lựa chọn

2 Giải pháp xây dựng chương trình

Mục đích của chương trình là chuyển đổi bảng từ hệ quản trị cơ sở dữ liệuSqlServer qua MySQL, giúp người dùng có thể đáp ứng được với yêu cầu của thực tế

Ngày đăng: 25/04/2013, 11:14

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Tom Archer (2001). Inside C#. Microsoft Press Sách, tạp chí
Tiêu đề: Inside C#
Tác giả: Tom Archer
Năm: 2001
[2] Thomas Erl (2005). Service-Oriented Architecture: Concepts, Technology, and Design. Prenice Hall PTR Sách, tạp chí
Tiêu đề: Service-Oriented Architecture: Concepts, Technology, and Design
Tác giả: Thomas Erl
Nhà XB: Prenice Hall PTR
Năm: 2005
[3] Kalen Delaney (2000). Inside Microsoft SQL Server 2000. Microsoft Press Sách, tạp chí
Tiêu đề: Inside Microsoft SQL Server 2000
Tác giả: Kalen Delaney
Năm: 2000
[4] Rebecca M. Riordan (2002). Microsoft ADO.NET Step by Step. Microsoft Press Sách, tạp chí
Tiêu đề: Microsoft ADO.NET Step by Step
Tác giả: Rebecca M. Riordan
Năm: 2002
[5] Nguyễn Văn Ba (2005). Phát triển hệ thống hướng đối tượng với UML 2.0 và C++.NXB ĐHQG HN Sách, tạp chí
Tiêu đề: Phát triển hệ thống hướng đối tượng với UML 2.0 và C++
Tác giả: Nguyễn Văn Ba
Nhà XB: NXB ĐHQG HN
Năm: 2005
[6] ThS.Phạm Nguyễn Cương và TS.Hồ Tường Vinh - Đại Học KHTN-TP HCM. Giáo trình phân tích và thiết kế hệ thống hướng đối tượng sử dụng UML Sách, tạp chí
Tiêu đề: Giáo trình phân tích và thiết kế hệ thống hướng đối tượng sử dụng UML
Tác giả: ThS.Phạm Nguyễn Cương, TS.Hồ Tường Vinh
Nhà XB: Đại Học KHTN-TP HCM
[7] Edward Jezierski (2002). Application Architecture for .NET: Designing Applications and Services. Microsoft Press Sách, tạp chí
Tiêu đề: Application Architecture for .NET: Designing Applications"and Services
Tác giả: Edward Jezierski
Năm: 2002
[9] Các tài liệu khác khai thác từ nguồn Internet Khác

HÌNH ẢNH LIÊN QUAN

Hình 1.1: Visual Studio.Net và .Net Framework - CHUYỂN ĐỔI CÁC BẢNG TỪ HỆ QUẢN TRỊ  CƠ SỞ DỮ LIỆU SQLSERVER SANG MYSQL
Hình 1.1 Visual Studio.Net và .Net Framework (Trang 11)
Hình 1.2: Các thành phần của CLR Một số chức năng của CLR: - CHUYỂN ĐỔI CÁC BẢNG TỪ HỆ QUẢN TRỊ  CƠ SỞ DỮ LIỆU SQLSERVER SANG MYSQL
Hình 1.2 Các thành phần của CLR Một số chức năng của CLR: (Trang 12)
Hình 1.3: Mô hình thực thi ứng dụng .Net - CHUYỂN ĐỔI CÁC BẢNG TỪ HỆ QUẢN TRỊ  CƠ SỞ DỮ LIỆU SQLSERVER SANG MYSQL
Hình 1.3 Mô hình thực thi ứng dụng .Net (Trang 13)
Hình 1.4: Sơ đồ một assembly đa file - CHUYỂN ĐỔI CÁC BẢNG TỪ HỆ QUẢN TRỊ  CƠ SỞ DỮ LIỆU SQLSERVER SANG MYSQL
Hình 1.4 Sơ đồ một assembly đa file (Trang 15)
Hình 2.1: Mô hình chung cho việc chuyển đổi cơ sở dữ liệu - CHUYỂN ĐỔI CÁC BẢNG TỪ HỆ QUẢN TRỊ  CƠ SỞ DỮ LIỆU SQLSERVER SANG MYSQL
Hình 2.1 Mô hình chung cho việc chuyển đổi cơ sở dữ liệu (Trang 25)
Hình 3.7: Thiết kế chi tiết lớp KetNoiSqlServer - CHUYỂN ĐỔI CÁC BẢNG TỪ HỆ QUẢN TRỊ  CƠ SỞ DỮ LIỆU SQLSERVER SANG MYSQL
Hình 3.7 Thiết kế chi tiết lớp KetNoiSqlServer (Trang 38)
Bảng 3. 2   : Mô tả các phương thức của lớp KetNoiSqlServer - CHUYỂN ĐỔI CÁC BẢNG TỪ HỆ QUẢN TRỊ  CƠ SỞ DỮ LIỆU SQLSERVER SANG MYSQL
Bảng 3. 2 : Mô tả các phương thức của lớp KetNoiSqlServer (Trang 38)
Hình 3.8: Thiết kế chi tiết lớp KetNoiMySQL - CHUYỂN ĐỔI CÁC BẢNG TỪ HỆ QUẢN TRỊ  CƠ SỞ DỮ LIỆU SQLSERVER SANG MYSQL
Hình 3.8 Thiết kế chi tiết lớp KetNoiMySQL (Trang 39)
Hình 3.10: Thiết kế chi tiết lớp XuLy - CHUYỂN ĐỔI CÁC BẢNG TỪ HỆ QUẢN TRỊ  CƠ SỞ DỮ LIỆU SQLSERVER SANG MYSQL
Hình 3.10 Thiết kế chi tiết lớp XuLy (Trang 40)
Bảng 3.6: Mô tả phương thức của lớp XuLy - CHUYỂN ĐỔI CÁC BẢNG TỪ HỆ QUẢN TRỊ  CƠ SỞ DỮ LIỆU SQLSERVER SANG MYSQL
Bảng 3.6 Mô tả phương thức của lớp XuLy (Trang 40)
Hình 3.12: Thiết kế chi tiết lớp ChuyenDoi - CHUYỂN ĐỔI CÁC BẢNG TỪ HỆ QUẢN TRỊ  CƠ SỞ DỮ LIỆU SQLSERVER SANG MYSQL
Hình 3.12 Thiết kế chi tiết lớp ChuyenDoi (Trang 41)
Hình 4.1: Giao diện chính khi khởi động ứng dụng - CHUYỂN ĐỔI CÁC BẢNG TỪ HỆ QUẢN TRỊ  CƠ SỞ DỮ LIỆU SQLSERVER SANG MYSQL
Hình 4.1 Giao diện chính khi khởi động ứng dụng (Trang 43)
Hình 4.2: Giao diện kết nối với cơ sở dữ liệu SqlServer - CHUYỂN ĐỔI CÁC BẢNG TỪ HỆ QUẢN TRỊ  CƠ SỞ DỮ LIỆU SQLSERVER SANG MYSQL
Hình 4.2 Giao diện kết nối với cơ sở dữ liệu SqlServer (Trang 44)
Hình dưới là giao diện để người dùng truy cập vào cơ sở dữ liệu SqlServer - CHUYỂN ĐỔI CÁC BẢNG TỪ HỆ QUẢN TRỊ  CƠ SỞ DỮ LIỆU SQLSERVER SANG MYSQL
Hình d ưới là giao diện để người dùng truy cập vào cơ sở dữ liệu SqlServer (Trang 44)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w