Có ba sự lựa chọn, ta sẽ tìm hiểu lần lượt từng lựa chọn một:Phương thức 1: Copy tables and views from the source database Ở lựa chọn này ta sẽ nhận được danh sách các đối tượng Table và
Trang 1BỘ CÔNG THƯƠNG TRƯỜNG CAO ĐẲNG CÔNG THƯƠNG TP HỒ CHÍ MINH
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO ĐỀ TÀI : CÀI ĐẶT VÀ QUẢN TRỊ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU SQL
SERVER
VẤN ĐỀ: CHUYỂN ĐỔI GIỮA CÁC LOẠI CƠ SỞ DỮ LIỆU
Tp Hồ Chí Minh, tháng 8 năm 2014
NHÓM THỰC HIỆN:
1. NGUYỄN HUY HIỆP
2. NGUYỄN VĂN NHÀNG
3. NGUYỄN MINH TƯ
4. TRẦN MINH TRUNG
GVHD : TRẦN ANH KHOA
NĂM HỌC: 2013-2014
Trang 2Có nhiều cách khác nhau để có thể kết xuất dữ liệu từ CSDL trong SQL Server sang các định dạng tiện dụng khác như txt (thuần text), csv (phân cách bằng dấy phẩy), xls (excel), xml (extensible markup language), có thể kể ra như SSIS, import/export wizard, bulk copy, bcp, replicate, Tùy theo đặc điểm của dữ liệu nguồn, định dạng dữ liệu đích mong muốn và khả năng tái sử dụng lại quá trình chuyển đổi dữ liệu mà chúng ta quyết định chọn công cụ nào Nhưng trong bài tìm hiểu này, nhóm chúng em xin được phép trình bày về một bộ công cụ BCP đó là tiện ích nhỏ gọn, đơn giản nhưng cực kỳ hiệu quả có sẵn trong SQL Server để hổ trợ cho việc import và export dữ liệu
BCP là 1 tiện ích để thực hiện việc sao chép dữ liệu hàng loạt được tối ưu hóa để chuyên trị cho các dữ liệu có qui mô lớn BCP có thể:
• Sao chép dữ liệu từ SQL Server ra dữ liệu đích đến có định dạng do người dùng tùy biến (như dạng văn bản phân cách bằng tab, hay bằng dấu phẩy, dạng file excel, )
• Sao chép ngược lại dữ liệu từ các nguồn bên ngoài vào lại trong SQL Server
Để tìm hiểu kỹ hơn về các làm và chức năng, nhiệm vụ của bộ công cụ này, chúng em đã tiến hành tìm hiểu tổng quan về Import và Export, những điều căn bản nhất về nó, đồng thời cũng hiểu được cơ chế làm việc và công dụng của hai chức năng này Vì thời gian quá ngắn chúng em tiếp cận ở mức độ tìm hiểu, một số vấn đề chưa được hiểu rõ, chúng em mong thầy đọc và góp ý, sữa chữa cho chúng em để bài tìm hiểu này của chúng em được hoàn thiện hơn, đồng thời chúng em được bổ sung thêm những kiến thức mới
Chúng em xin chân thành cảm ơn thầy!
Nhóm thực hiện NHÓM 10
Trang 3CHƯƠNG: CHUYỂN ĐỔI GIỮA CÁC LOẠI CƠ SỞ DỮ LIỆU
I. GIỚI THIỆU VỀ IMPORT VÀ EXPORT DỮ LIỆU:
Một trong những cách trao đỗi dữ liệu giữa các loại cơ sở dữ liệu với nhau là sử dụng tiện ích Import hay Export dữ liệu từ định dạng này sang định dạng khác
SQL Server 2000 cung cấp hai chức năng chính là Import dùng để nhập dữ liệu vào cơ
sở dữ liệu SQL Server 2000 các loại cơ sở dữ liệu khác và Export dùng để xuất dữ liệu từ SQL Server 2000 ra các loại cơ sở dữ liệu khác Tuy nhiên, tùy thuộc vào hệ thống cho phép ta Import hay Export dữ liệu Import dữ liệu và các đối tượng hai cơ sở dữ liệu với nhau ở mức độ nào đó
II. IMPORT CƠ SỞ DỮ LIỆU:
Việc đầu tiên ta phải xác định cơ sở dữ liệu nguồn thuộc loại cơ sở dữ liệu nào để chọn và dĩ nhiên cơ sở dữ liệu đích chính là SQL Server 2000
1. Import cơ sở dữ liệu từ SQL Server:
Để thực hiện chức năng Import cơ sở dữ liệu, giả sử chúng ta tạo một cơ sở dữ liệu trên myDatabase với đối tượng Table có tên tblItems Trong cơ sở dữ liệu này có Stored Procedure và một Trgger như sau:
…Strore Procedure
CREATE PROCEDURE spItems
AS
select * from tblItems
…Trigger của tblItems
CREATE TRIGGER [trgItem] ON [dbo].[tblItems]
FOR INSERT, UPDATE, DELETE
AS
Print ‘Items’
a. Các bước Import giữa hai cơ sở dữ liệu:
Giả sử cần Import cơ sở liệu Northwind từ SQL Server 2000
Trong cửa sổ SQL Server Enterprise Manager, kích chuột phải vào Database >All Task>Import Data
Trang 4Hoặc từ menu Tool > Data Transformation > Import Data.
Hình 1.2
Tiếp theo cần lựa chọn nguồn dữ liệu để Import
Hình 1.3
- Data Soure: Chọn loại trình điều khiển của cơ sở dữ liệu cần Import Trong
trường hợp này chúng ta chọn trình điều khiển Microsoft OLD DB provider for SQL Server
- Server: Là tên server cài đặt cơ sở dữ liệu SQL Server cần Import Nếu
nguồn dữ liệu nằm ngay tại máy thì chọn la local, nếu nằm trên SQL Server
200 khác thì cần đánh tên server hoặc địa chỉ Ip vào
- Chế độ xác thực(Authentication): Tùy thuộc vào cách xác thực của server
nguồn
Trang 5- Database: Chọn database cần Import trong từng trường hợp này chọn
Northwind
Hình 1.4
Chọn Next để tiếp tục chọn thông tin của cơ sở dữ liệu đích
Trong mục Database ta chọn <new> để tạo một cơ sở dữ liệu mới sau đó đánh tên
cơ sở dữ liệu mới, giả sử là Northwind_COPY
Hình 1.5
Sau đó ấn Next
Trang 6Có ba sự lựa chọn, ta sẽ tìm hiểu lần lượt từng lựa chọn một:
Phương thức 1: (Copy table(s) and view(s) from the source database)
Ở lựa chọn này ta sẽ nhận được danh sách các đối tượng Table và View của cơ sở
dữ liệu Northwind Muốn lựa chọn Table hay View nào cần Import ta kích vào
Checkbox của từng đối tượng.(Hình 1.7)
Nếu muốn đối tượng mà SQL Server 2000 sẽ sao chép có cấu trúc khác với các đối tượng Import, ta có thể chọn nút trên cột Transform.Ta có thể sửa được cấu trúc
của bảng đích theo ý muốn.(Hình 1.8)
Hình 1.7
Hình 1.8
Trang 7Nếu muốn không Import một số cột dữ liệu nào đó trong bảng hoặc khi Import muốn thay đổi giá trị theo ý muốn thì kích vào mục Transformations
Hình 1.9
Và kích vào mục Transformation as it is copied to the destination
Trang 8Ta có thể viết các lệnh theo ý muốn ở đây Ví dụ ta muốn trường UniPrice giá tính bằng Đồng tức ta cần nhân trường này với tỉ giá USD/VND(16000)
Function Main()
DTSDestination("ProductID") = DTSSource("ProductID")
DTSDestination("ProductName") = DTSSource("ProductName")
DTSDestination("SupplierID") = DTSSource("SupplierID")
DTSDestination("CategoryID") = DTSSource("CategoryID")
DTSDestination("QuantityPerUnit") = DTSSource("QuantityPerUnit") DTSDestination("UnitPrice") = DTSSource("UnitPrice") *16000 DTSDestination("UnitsInStock")
DTSDestination("UnitsOnOrder") = DTSSource("UnitsInStock")
DTSDestination("ReorderLevel") = DTSSource("UnitsOnOrder")
DTSDestination("Discontinued") = DTSSource("ReorderLevel")
Main = DTSTransformStat_OK = DTSSource("Discontinued")
End Function
Phương thức 2: (Use a query to specify the the data to transfer)
Với lựa chọn này của sổ kế tiếp sẽ như hình dưới và yêu cầu ta cung cấp phát biểu SQL
Trang 9Hình 1.11
Hình 1.12
Có thể gõ trực tiếp câu lệnh SQL:
Hoặc sử dụng công cụ Query Builder (hình trên) Sau khi thực hiện xong có thể nhấn nút Parse để kiểm tra cú pháp của phát biểu SQL Ngoài ra ta cũng có thể nạp phát biểu SQL từ bên ngoài (tập tin dạng text ) bằng cách nhấn nút Browse
Phương thức 3: (Copy objects and data between SQL Server database)
Với sự lựa chọn này cửa sổ kế tiếp sẽ như hình dưới:
Yêu cầu ta chọn đối tượng muốn Import(mặc định là tất cả các đối tượng của cơ sở
dữ liệu Import dang có)
Select [Products].[ProductID], [Products].[ProductName], [Products].[UnitPrice]
From [Products]
Trang 10Với phương thức này ta có thể chọn các tùy chọn như sau:
Create destination object: Cho phép bạn tạo mới đối tượng và Import dữ liệu
o Nếu bạn muốn xóa đối tượng đang tồn tại trong cơ sở dữ liệu được Import thì bạn tùy chọn vào tùy chọn Drop destination objects first
o Chọn vào tùy chọn Include all dependent objects nếu bạn muốn Import tất cả các đối tượng khác có quan hệ
o Ngoài ra, nếu bạn chọn vào tùy chọn Include extenced propertise thì SQL Server 2000 sẽ Import những thuộc tính mở rộng khác
Copy data: Sao chép dữ liệu
o Chọn Replace existing data nếu bạn muốn xóa dữ liệu đang tồn tại trong những đối tượng cùng tên khi không chọn tùy chọn Drop destination objects first
o Append data: chèn thêm dữ liệu trường hợp không chọn tùy chọn Drop destination objects first
Copy all objects: Import tất cả các đối tượng của cơ sở dữ liệu cần Import vào
cơ sở dữ liệu được Import
2. Import dữ liệu từ Access: (Nguyễn Minh Tư)
a. Các bước Import dữ liệu:
Thông tin của cơ sở dữ liệu cần Export:
o Data Source: chọn loại trình điều khiển cần Import, trong trường hợp này ta chọn trình MS Access
o Filename: là tên và đường dẫn của tập tin MS Access cần Import
o Nếu cơ sở dữ liệu Access có sử dụng username và password thì ta cần phải cung cấp giá trị cho hai text box này
Thông tin của cơ sở dữ liệu cần Import:
o Destination: chọn trình điều khiển Microsoft OLE DB Provider For SQL Server
o Server: là tên server cài đặt cơ sở dữ liệu
o Database: tên cơ sở dữ liệu được Import
o Use windows authentication: sử dụng tài khoản của hệ điều hành để đăng nhập
cơ sở dữ liệu myDatabases
Chọn phương thức để Import:
o Đối với Import từ cơ sở dữ liệu của Access, ta có 2 lựa chọn:
Trang 11 Copy table(s) and view(s) from the source database: Cho phép sao chép đối tượng table từ cơ sở dữ liệu Northwind.mdb vào myDatabase
User a query to specify the data to transfer : Sử dụng phát biểu SQL
để chuyển cơ sở dữ liệu nguồn vào cơ sở dữ liệu đích
o Tùy vào 1 trong 2 phương án, ta chọn phương án thực hiện kế tiếp
o Thiết lập trình tự động Import cơ sở dữ liệu nếu cần
b. Thực hiện:
• Chọn tên cơ sở dữ liệu được Import | R-Click | All Tasks | Import Data…, cửa sổ xuất hiện yêu cầu bạn chọn Next để tiếp tục và chuyển đến cửa sổ kế tiếp để chọn thông tin cơ sở dữ liệu cần Import (Data Source)
Hình 2.1
• Chọn trình điều khiển MS Access và chọn tên cơ sở dữ liệu Access có tên và đường dẫn là C:\Program Files\Microsoft Office\Office\Samples\Northwind.mdb
• Trường hợp Import từ cơ sở dữ liệu là access, chọn cơ sở dữ liệu cần Import là Northwind.mdb và không cần cung cấp Username và Password Nhấn Next
• Chọn Next để chọn một trong hai phương thức Import là Copy table(s) and view(s) from the source database và User a query to specify the data to transfer Các bước tiếp theo tương tự như Import cơ sở dữ liệu từ SQL Server vào cơ sở dữ liệu SQL Server 2000
3. Import dữ liệu từ tập tin Excel: (Nguyễn Minh Tư)
a. Các bước thực hiện:
Thông tin của tập tin cần Export:
o Data Source: chọn loại trình điều khiển cần Import, trong trường hợp này ta chọn trình MS Excel
o Filename: là tên và đường dẫn của tập tin MS Excel cần Import
Thông tin của cơ sở dữ liệu được Import:
o Destination: chọn trình điều khiển Microsoft OLE DB Provider For SQL Server
o Server: là tên server cài đặt cơ sở dữ liệu được Import
o Database: tên cơ sở dữ liệu được Import
Trang 12đăng nhập cơ sở dữ liệu myDatabases.
o User SQL Server Authentication: nếu sử dụng tài khoản của cơ sở dữ liệu SQL Server để đăng nhập cơ sỡ dữ liệu thì cần cung cấp Username và Password
Chọn phương thức để Import:
o Đối với Import từ cơ sở dữ liệu của Excel, ta cũng có 2 lựa chọn:
Copy table(s) and view(s) from the source database: Cho phép sao chép đối tượng sheet từ tập tin Test.xls vào myDatabases
User a query to specify the data to transfer : Sử dụng phát biểu SQL để chuyển cơ sở dữ liệu nguồn vào cơ sở dữ liệu đích
o Tùy vào một trong hai phương án trên, ta chọn phương án thực hiện kế tiếp
o Thiết lập trình tự động Import cơ sở dữ liệu nếu cần
b. Thực hiện:
• Chọn tên cơ sở dữ liệu được Import | R-Click | All Tasks | Import Data…, cửa sổ xuất hiện yêu cầu ta chọn Next để tiếp tục, cửa sổ kế tiếp xuất hiện yêu cầu chọn thông tin của tập tin Exel Export (Data Source)
• Chọn Next, tiếp tục chọn thông tin của csdl được Import(Destination)
• Chọn Next để chọn một trong hai phương thức Import là Copy table(s) and view(s) from the source database, bạn chọn Next để tiếp tục chọn các Sheet đang tồn tại trong tập tin Test.xls
• Sau khi chọn tên Sheet của tập tin Excel, ta có thể thực hiện các bước kế tiếp như đã trình bày trong phần Import cơ sở dữ liệu SQL Server vào csdl SQL Server 2000
4. Import từ tập tin dạng Text:
a. Các bước thực hiện:
• Thông tin của tập tin cần Import
o Data Source: Chọn trình điều khiển Text File
o Filename: Là tên và đường dẫn của tập tin dạng Text cần Import Ví dụ chúng ta Import tập tin Test.txt vào CSDL myDatabases
o Chọn định dạng của tập tin, do tính đa dạng của thông tin trình bày trong tập tin Text mà bạn chọn các tuỳ chọn cho phú hợp với cấu trúc dữ liệu của bảng
Microsoft Excel 97-20000
Trang 13• Thông tin của cơ sở dữ liệu được Import:
o Destination: chọn trình điều khiển Microsoft OLE DB Provider For SQL Server
o Server: là tên server cài đặt cơ sở dữ liệu được Import
o Database: tên cơ sở dữ liệu được Import
o Use windows authentication: nếu sử dụng tài khoản của hệ điều hành để đăng nhập cơ sở dữ liệu myDatabases
o User SQL Server Authentication: nếu sử dụng tài khoản của cơ sở dữ liệu SQL Server để đăng nhập cơ sỡ dữ liệu thì cần cung cấp Username
và Password
b. Thực hiện
• Chọn tên cơ sở dữ liệu được Import | R-Click | All Tasks | Import Data…, cửa
sổ xuất hiện yêu cầu ta chọn Next để tiếp tục, cửa sổ kế tiếp xuất hiện yêu cầu chọn thông tin của tập tin Exel Export (Data Source)
• Chọn Next để tiếp tục chọn định dạng thông tin của tập tin dạng Text
• Chọn Next để chọn cách sắp xếp dữ liệu theo cột và hàng tương ứng khi Import vào CSDL SQL Server 2000
• Chọn Next để thực hiện các bước kế tiếp tương tự như trình bày ở phần trên
III. EXPORT CƠ SỞ DỮ LIỆU
Export cơ sở dữ liệu cũng như Import cơ sở dữ liệu Đây là quá trình ngược lại với quá trình Import, các thao tác với Export cũng tương tự như Import
IV. XÂY DỰNG LỊCH TRÌNH IMPORT VÀ EXPORT DỮ LIỆU
Quá trình Import và Export CSDL có thể cài đặt một lịch trình tự động theo một thời gian nhất định Theo mặc định là tất cả các ngày vào lúc 12h đêm Ta có thể thay đổi thời gian biểu này thông qua cửa sổ sau:
Trang 14Khi bạn muốn Import những đối tượng của một cơ sở dữ liệu hay dữ liệu từ một cơ
sở dữ liệu khác mà bạn chưa muốn thực hiện tức thì, bạn có thể cài đặt thời gian biểu để chúng có thể tự động thực thi tác vụ này như một tién trình được tự động hóa tương tự quá trình backup cơ sở dữ liệu.
Giả sử rằng, chúng ta Import bảng dữ liệu có tên Customers của cơ sở dữ liệu Northwind vào cơ sở dữ liệu myDatabase vào lúc 02:45PM Sau đó, lưu lại Package này với tên chỉ định, bạn chọn server để lưu trữ cũng như đặc quyền đăng nhập để thực hiện tác vụ này
Chú ý rằng, sau khi package nà, bạn có thể tìm thấy chúng trong phần Data Transformation Services | Local Packages và thay đổi các tùy chọn
Đúng vào lúc 02:45 PM, tác vụ này sẽ tự động thực thi và bảng Customers của Northwind
sẽ được Import vào cơ sở dữ liệu myDatabase
Để xem mô phỏng của quá trình Import bảng Customers từ cơ sở dữ liệu Northwind vào
cơ sở dữ liệu myDatabase, bạn có thể chọn vào New Packge 2:45 | R-Click|Design Package hay Double Click, cửa sổ xuất hiện trình bày dòng dữ liệu
Trong đó Connection 1 là đối tượng kết nối vào cơ sở dữ liệu Northwind với các thuộc tính như đặc quyền kết nối, tên server, username, password và tên cơ sở dữ liệu, để xem các thuộc tính này bạn chọn Connection1 | R-Click | Properties cửa sổ xuất
Tương tự như vậy, trong đối tượng Connection2, bao gồm các thuộc tính để kết nối cơ sở
dữ liệu được Import (cơ sở dữ liệu myDatabase)
Để xem các thuộc tính này bạn chọn Connection 2 | R-Click | Properties
Để tham khảo quá trình xử lý như thế nào bạn chọn vào đối tượng có tên “Create table [mydatabase].[dbo].[Customers] Task” | R-Click | Properties, cửa sổ xuất hiện
Trong ví dụ 10-3 phần SQL Statement xuất hiện phát biểu Create Table với các thuộc tính trùng với thuộc tính của bảng Customers trong cơ sở dữ liệu Northwind
Ví dụ 10-3: Khai báo tạo Table
CREATE TABLE [mydatabase].[dbo].[Customers]
(
[CustomersID] nchar (5) NOT NULL,
[CompanyName] nvarchar (40) NOT NULL,
[ContactName] nvarchar (30) NOT NULL,
[ContactTitle] nvarchar (30) NOT NULL,