Bài giảng môn học KHO DỮ LIỆU VÀ KHAI PHÁ DỮ LIỆU CHƯƠNG 2. TIỀN XỬ LÝ DỮ LIỆU
Môn Học: Cơ Sở Dữ Liệu 2 · PDF file3.2.Các công cụ chuyển...
Transcript of Môn Học: Cơ Sở Dữ Liệu 2 · PDF file3.2.Các công cụ chuyển...
Copyright © Wondershare SoftwareThS. NGUYỄN MINH TUẤN
Môn Học: Cơ Sở Dữ Liệu 2
Chương 3 – LẤY DỮ LIỆU TỪ NHIỀU
NGUỒN
Nội dung
3.2.Các công cụ chuyển dữ liệu (Data Transfer Tools)
3.1. Import/Export dữ liệu
3.3. Dịch vụ chuyển và chuyển đổi dữ liệu với các
công cụ trực quan
3.4. Sử dụng Bulk Copy Program (BCP) và
câu lệnh SQL BULK INSERT
Nội dung
3.2.Các công cụ chuyển dữ liệu (Data Transfer Tools)
3.1. Import/Export dữ liệu
3.3. Dịch vụ chuyển và chuyển đổi dữ liệu với các
công cụ trực quan
3.4. Sử dụng Bulk Copy Program (BCP) và
câu lệnh SQL BULK INSERT
Copyright © Wondershare Software
3.1. Import/Export dữ liệu
Import dữ liệu là quá trình đưa dữ liệu có sẵn từ nguồn dữ liệu khác
hoặc chính SQL Server vào trong SQL Server. Export là quá trình
ngược lại với import, đưa dữ liệu của SQL Server ra ngoài nguồn dữ
liệu bên ngoài. Nguồn dữ liệu đó có thể là một CSDL hãng thứ ba,
bảng tính, tập tin văn bản (Text). Tuy nhiên trước khi bạn import/export
dữ liệu này vào, bạn phải thực hiện các tác vụ chuẩn bị để ước lượng
dữ liệu bên ngoài và quyết định các bước sẽ phải thực hiện trong tiến
trình import/export.
Copyright © Wondershare Software
3.1. Import/Export dữ liệu
- Xác định dạng dữ liệu (Format) của dữ liệu có sẵn nên hiệu chỉnh để
nó nhất quán trong CSDL đích đến (Ví dụ: Cần đổi dạng ngày hoặc
chuyển giá trị số sang giá trị chuỗi như 1, 2, 3 chuyển thành nhất, nhì,
ba).
- Xác định import/export dữ liệu sẽ là một tác vụ thực hiện một lần hay
một tác vụ thực hiện định kỳ.
-Xác định làm thế nào để truy cập vào cơ sở dữ liệu hiện có. Là truy
cập trực tiếp nguồn dữ liệu bên ngoài và bạn có quyền truy cập dữ liệu
trực tiếp không? Nếu không thì dữ liệu phải được chuyển sang một
dạng format mà SQL Server có thể làm việc được, chẳng hạn file .txt...
Nội dung
3.2.Các công cụ chuyển dữ liệu (Data Transfer Tools)
3.1. Import/Export dữ liệu
3.3. Dịch vụ chuyển và chuyển đổi dữ liệu với các công cụ
trực quan
3.4. Sử dụng Bulk Copy Program (BCP) và
câu lệnh SQL BULK INSERT
Copyright © Wondershare Software
3.2. Các công cụ chuyển dữ liệu (Data Transfer Tools)
SQL Server cung cấp số công cụ dành cho việc import và export dữ
liệu. Các công cụ này có những khả năng khác nhau để trích lọc tập
các dữ liệu từ nguồn dữ liệu có sẵn và chuyển đổi dữ liệu. Bảng dưới
đây mô tả ngắn gọn các công cụ chính và khả năng của nó.
Công cụ Mô tả
DTS DTS là một công cụ đồ họa dùng để import, export,
và transform dữ liệu. DTS có thể làm việc trực tiếp
các nguồn dữ liệu đa dạng. DTS tạo các gói
(package) mà có thể lập biểu. DTS cũng có thể
import và export các luợc đồ đối tượng CSDL giữa
các thể hiện (instance) của SQL Server.
Copyright © Wondershare Software
3.2. Các công cụ chuyển dữ liệu (Data Transfer Tools)
Công cụ Mô tả
Bcp Bcp là một lệnh tiện ích tại dấu nhắc được dùng để sao chép
dữ liệu từ một tập tin văn bản thành một bảng hoặc View của
SQL Server thông qua ODBC. Khả năng biến đổi dữ liệu của
Bcp bị giới hạn và qui định dạng tập tin khó hiểu.
Lệnh BULK
INSERT trong
Transact-SQL
BULK INSERT là một lệnh Transact-SQL dùng để sao chép
dữ liệu từ một tập tin văn bản ASCII thành một một bảng hoặc
View của SQL Servers thông qua OLEDB. Câu lệnh BULK
INSERT cung cấp chức năng tương tự như Bcp (và cũng hạn
chế) trong một câu lệnh Transact-SQL và có thể nhúng trong
một gói DTS.
Nội dung
3.2.Các công cụ chuyển dữ liệu (Data Transfer Tools)
3.1. Import/Export dữ liệu
3.3. Dịch vụ chuyển và chuyển đổi dữ liệu với các công
cụ trực quan
3.4. Sử dụng Bulk Copy Program (BCP) và
câu lệnh SQL BULK INSERT
Copyright © Wondershare Software
3.3. Dịch vụ chuyển và chuyển đổi dữ liệu với các công cụ trực quan
Là một cách đơn giản để tạo một SQL Server packages để sao chép dữ liệu
giữa các nguồn dữ liệu nhưng nó bị giới hạn đối với những biến đổi dữ liệu
phức tạp, thêm nhiều task và các lưu đồ tác phụ phức tạp. SQL Server
Import/Export Wizard được sẵn sàng trong SSMS.
Chọn một instance, click phải chọn Tasks, chọn Import Data hoặc Export Data ,
bắt đầu với hộp thoại SQL Server Import/Export Wizard.
Copyright © Wondershare Software
3.3. Dịch vụ chuyển và chuyển đổi dữ liệu với các công cụ trực quan
Chọn dữ liệu nguồn trong SQL Server Import/Export Wizard
Copyright © Wondershare Software
3.3. Dịch vụ chuyển và chuyển đổi dữ liệu với các công cụ trực quan
Chọn dữ liệu đích trong SQL Server Import/Export Wizard
Copyright © Wondershare Software
3.3. Dịch vụ chuyển và chuyển đổi dữ liệu với các công cụ trực quan
Lựa chọn các hoạt động copy dữ liệu
Copyright © Wondershare Software
3.3. Dịch vụ chuyển và chuyển đổi dữ liệu với các công cụ trực quan
Lựa chọn các bảng và khung nhìn từ dữ liệu nguồn
Copyright © Wondershare Software
3.3. Dịch vụ chuyển và chuyển đổi dữ liệu với các công cụ trực quan
Lưu và chạy Package
Copyright © Wondershare Software
3.3. Dịch vụ chuyển và chuyển đổi dữ liệu với các công cụ trực quan
Hoàn thành việc Import/Export dữ liệu.
Copyright © Wondershare Software
3.3. Dịch vụ chuyển và chuyển đổi dữ liệu với các công cụ trực quan
Hộp thoại báo thực hiện thành công.
Nội dung
3.2.Các công cụ chuyển dữ liệu (Data Transfer Tools)
3.1. Import/Export dữ liệu
3.3. Dịch vụ chuyển và chuyển đổi dữ liệu với các công
cụ trực quan
3.4. Sử dụng Bulk Copy Program (BCP) và
câu lệnh SQL BULK INSERT
Copyright © Wondershare Software
3.4. Sử dụng Bulk Copy Program (BCP) và câu lệnh SQL BULK INSERT
-Bulk copy là một giao diện chương trình ứng dụng (Application Programming
Interface – API) được xây dựng trong SQL Server mà cho phép xuất nhập dữ
liệu một cách hiệu quả. Ta dùng BCP trong trường hợp ta muốn chuyển một số
lượng lớn dữ liệu từ các hệ quản trị CSDL khác vào trong SQL Server. BCP là
một phương pháp cơ bản chuyển đổi dữ liệu vào ra SQL Server.
- BCP là một API được định nghĩa bởi SQL Server. Hiện nay, giao diện này chỉ
được đưa ra thông qua ODBC (Open Database Connectivity- Hệ thống kết nối
CSDL mở) và DB-LIB (DataBase Library). SQL Server cung cấp một tiện ích
(BCP.EXE) mà hầu hết người dùng quen nghĩ là BCP. Ta có 2 phương pháp để
xuất nhập dữ liệu là BCP command-line utility và BULK INSERT Transact-SQL
statement.
Copyright © Wondershare Software
3.4. Sử dụng Bulk Copy Program (BCP) và câu lệnh SQL BULK INSERT
Dạng dữ liệu BCP Switch Lệnh Bulk Insert Ý nghĩa
Native -n DataFiletype=’na
tive’
Kiểu dữ liệu là tự
nhiên, khi cập
nhật phải tốn
nhiều thời gian
chuyển đổi kiểu
dữ liệu
Character -c DataFiletype=’ch
ar’
Kiểu dữ liệu là
CHAR cho tất cả
các cột
Copyright © Wondershare Software
3.4. Sử dụng Bulk Copy Program (BCP) và câu lệnh SQL BULK INSERT
Dạng dữ liệu BCP
Switch
Lệnh Bulk Insert Ý nghĩa
Unicode character -w DataFiletype=’widechar’ Kiểu dữ liệu là Unicode char
cho tất cả các dữ liệu, có thể
một số dữ liệu sẽ bị mất nếu
kiểu dữ liệu của Source và
Destination không trùng nhau.
Unicode Native -N DataFiletype=’widenative
’
Kiểu dữ liệu là Native cho
những dữ liệu không là kiểu
Char, và dùng Unicode cho
những dữ liệu kiểu char (char,
varchar, nchar, text…)
Copyright © Wondershare Software
3.4. Sử dụng Bulk Copy Program (BCP) và câu lệnh SQL BULK INSERT
3.4.1 BCP Command-line Utily
Là một hàm đơn giản của Bulk Copy, thực thi tại dấu nhắc lệnh, dùng để sau
chép dữ liệu vào SQL Server hoặc xuất dữ liệu ra thành một tập tin dữ liệu.
Muốn dùng được bcp, thì trước tiên dữ liệu trong chương trình nguồn (một
DBMS khác) phải được sang một tập tin dữ liệu vào sau đó mới chuyển dữ liệu
từ tập tin data vào table cùa SQL. Ngược lại, bcp sẽ chuyễn dữ liệu từ một
table thành một tập tin dành cho chương trình khác chẵng hạn như Excel.
Data file: là một tập tin hệ thống hoạt động, dùng chứa dữ liệu để Import vào
SQL Server (gọi là Source) hoặc tập tin chứa dữ liệu khi dùng Export (gọi
Destination).
Copyright © Wondershare Software
3.4. Sử dụng Bulk Copy Program (BCP) và câu lệnh SQL BULK INSERT
3.4.1 BCP Command-line Utily
Cú pháp:
bcp [database_name.][owner].]table_name in | out data_file [-c | -n | w | N] [-T]
Link tham khảo:
https://msdn.microsoft.com/en-us/library/ms162802(v=sql.120).aspx
Copyright © Wondershare Software
3.4. Sử dụng Bulk Copy Program (BCP) và câu lệnh SQL BULK INSERT
3.4.1 BCP Command-line Utily
Ví dụ:
A. Copying table rows into a data file (with a trusted connection)
bcp AdventureWorks2012.Sales.Currency out Currency.dat -T -c
-T: chỉ định là Connect trực tiếp với Server đang log on
B. Copying table rows into a data file (with mixed-mode authentication)
bcp AdventureWorks2012.Sales.Currency out Currency.dat -c -U <login_id> -S
<server_name\instance_name>
Copyright © Wondershare Software
3.4. Sử dụng Bulk Copy Program (BCP) và câu lệnh SQL BULK INSERT
3.4.1 BCP Command-line Utily
Ví dụ:
C. Copying data from a file to a table
USE AdventureWorks2012;
GO
SELECT * INTO AdventureWorks2012.Sales.Currency2
FROM AdventureWorks2012.Sales.Currency WHERE 1=2;
bcp AdventureWorks2012.Sales.Currency2 in Currency.dat -T -c
USE AdventureWorks2012;
GO
SELECT * FROM Sales.Currency2
D. Copying a specific column into a data file
bcp "SELECT LastName FROM AdventureWorks2012.Person.Person" queryout
Lastname.dat -c -T
Copyright © Wondershare Software
3.4. Sử dụng Bulk Copy Program (BCP) và câu lệnh SQL BULK INSERT
3.4.1 BCP Command-line Utily
E. Copying a specific row into a data file
bcp "SELECT * FROM AdventureWorks2012.Person.Person WHERE
FirstName='Jarrod' AND LastName='Rana' " queryout "Jarrod Rana.dat" -T -c
F. Copying data from a query to a data file
bcp "SELECT FirstName, LastName FROM
AdventureWorks2012.Person.Person ORDER BY LastName, Firstname"
queryout Contacts.txt -c -T
G. Creating a non-XML format file
bcp AdventureWorks2012.Sales.Currency format nul -T -c -f Currency.fmt
H. Creating an XML format file
bcp AdventureWorks2012.Sales.Currency format nul -T -c -x -f Currency.xml
I. Using a format file to bulk import with bcp
bcp AdventureWorks2012.Sales.Currency2 in Currency.dat -T -f Currency.xml
Copyright © Wondershare Software
3.4. Sử dụng Bulk Copy Program (BCP) và câu lệnh SQL BULK INSERT
3.4.2 CÂU LỆNH BULK INSERT
Dùng để chuyển một dữ liệu vào bảng của SQL Server từ một tập tin dữ liệu
khác. Câu lệnh Bulk insert không thể đưa dữ liệu từ bảng của SQL Server ra
thành tập tin dữ liệu dành cho chương trình khác. Tuy vậy, nó lại là một câu
lệnh trong T-SQL nên có thể được dùng một cách thuận tiện trong các hàm
hoặc thủ tục trong SQL Sever.
Copyright © Wondershare Software
3.4. Sử dụng Bulk Copy Program (BCP) và câu lệnh SQL BULK INSERT
3.4.2 CÂU LỆNH BULK INSERT
Cu pháp:
BULK INSERT 'database_name' [ 'owner' .] 'table_name' FROM 'data_file'
[ WITH (DATAFILETYPE = 'char' | 'native'| 'widechar' | 'widenative')
|FORMATFILE = ‘data_file’ ]
Link tham khảo:
https://msdn.microsoft.com/en-us/library/ms188365.aspx
Copyright © Wondershare Software
3.4. Sử dụng Bulk Copy Program (BCP) và câu lệnh SQL BULK INSERT
3.4.2 CÂU LỆNH BULK INSERT
Ví dụ 1:
USE AdventureWorks2012;
GO
DELETE AdventureWorks2012.Sales.Currency2;
GO
BULK INSERT AdventureWorks2012.Sales.Currency2
FROM 'D:\Currency.dat'
WITH (FORMATFILE = 'D:\Currency.xml');
GO
SELECT * FROM AdventureWorks2012.Sales.Currency2;
GO
Copyright © Wondershare SoftwareCopyright © Wondershare Software
Q&A?