Các thủ thuật xử lý data với sql

  • Lập Trình
SQL Series: 5 mẹo dành cho SQL

2384

Facebook

Linkedin

Telegram

1. Giữ tên cột và bảng đơn giản

  • Sử dụng một từ cho tên bảng thay vì hai. Nếu bạn cần sử dụng nhiều từ, hãy sử dụng dấu gạch dưới thay vì dấu cách hoặc dấu chấm.
  • Có dấu chấm “.” trong tên của các object sẽ gây nhầm lẫn giữa tên lược đồ và cơ sở dữ liệu. Mặt khác, sử dụng spaces có nghĩa là bạn cần phải thêm dấu ngoặc kép trong truy vấn của mình để cho nó có thể chạy.
  • Giữ tên cột và bảng được nhất quán bằng chữ thường để người dùng không phải nhầm lẫn nếu bạn chuyển sang cơ sở dữ liệu phân biệt chữ hoa chữ thường.

Tìm việc làm SQL mới nhất trong tháng

2. Xử lý vấn đề ngày, tháng, năm trong SQL

  • Chuyển đổi date thành datetime biểu để cải thiện hiệu suất.
  • Sẽ khó hơn khi làm việc với các ngày được lưu trữ dưới dạng chuỗi vì thế hãy đảm bảo những chúng không bao giờ được dùng để biểu thị ngày tháng.
  • Không chia nhỏ năm, tháng và ngày thành các cột riêng biệt. Điều này khiến cho các truy vấn khó viết và lọc hơn nhiều.
  • Luôn sử dụng UTC cho múi giờ của bạn. Nếu bạn có sự kết hợp giữa UTC và non-UTC, điều đó sẽ khiến cho việc hiểu dữ liệu khó khăn hơn nhiều.

3. Hiểu rõ thứ tự execute và chạy Query

  • Việc hiểu thứ tự truy vấn có thể giúp bạn hiểu cách truy vấn hoạt động cũng như lí do vì sao truy vấn của bạn sẽ không chạy.
FROM – Includes JOINs so consider using a CTE or subquery to do filtering first. 
WHERE - To limit the joined dataset. 
GROUP BY – Collapses fields down with aggregate functions (COUNT, MAX, SUM, AVG) 
HAVING - Performs the same function as the WHERE clause with aggregate values.
SELECT - Specifies values and aggregations remaining in the set after grouping.
ORDER BY – Returns the table sorted by a column or multiple columns. 
LIMIT – Specifies how many rows to be returned to avoid returning too much data.

4. Các hạn chế của NULL

  • NULL có nghĩa là giá trị không xác định, không phải 0 và không phải bị bỏ trống. Điều này làm cho nó khó so sánh các giá trị nếu bạn muốn so sánh NULL với NULL. Tùy thuộc vào những gì bạn đang yêu cầu mã của mình để làm sẽ ảnh hưởng đến chiến lược bạn cần phải thực hiện. Đọc thêm về NULL và cách giải quyết vấn đề tại đây.

5. Biết cách tạo bảng

  • Khi tạo bảng từ một bảng, hãy sử dụng `SELECT TOP 0` để tạo cấu trúc của bảng trước khi chèn dữ liệu vào.
  • Dù nó phải mất tới hai bước thay vì một nhưng bù lại sẽ giúp giảm thời gian xử lý.
insert into 
select [ID] ,
[CreatedDate] ,
[RegionName] ,
[SalesPerson]
from 
  • Nếu bạn muốn cập nhật một bảng với dữ liệu mới, hãy sử dụng lệnh `TRUNCATE`. Nó sẽ xóa tất cả các hàng khỏi bảng mà không xóa định dạng và tiêu đề
truncate table 
-- deletes the contents of the table insert into
select [ID] , [CreatedDate] , [RegionName] , [SalesPerson] from ...
  • Tối ưu hoá MySQL sử dụng việc gộp các index
  • MySQL ngoại truyện
  • Sử dụng trigger trong SQL qua ví dụ cơ bản.
  • Khác biệt giữa khóa chính và khóa ngoại trong SQL
  • Vì sao SQL tốt hơn NoSQL?
  • SQL Injection là gì?

Facebook

Linkedin

Telegram

Các thủ thuật xử lý data với sql
Các thủ thuật xử lý data với sql

TopDev

Ban Biên Tập Blog TopDev. Nice to meet you

Bạn có thể liên kết tới hoặc nhập dữ liệu từ Cơ sở dữ liệu SQL, chính là cơ sở dữ liệu hiệu suất cao được sử dụng cho các ứng dụng then chốt. Để biết thêm thông tin, xem mục SQL Server 2016.

  • Khi bạn liên kết tới dữ liệu, Access sẽ tạo ra một kết nối hai chiều giúp đồng bộ hóa các thay đổi cho dữ liệu trong Access và Cơ sở dữ liệu SQL.

  • Khi bạn nhập dữ liệu, Access sẽ tạo ra bản sao dữ liệu sử dụng một lần, do vậy, những thay đổi cho dữ liệu trong Access hoặc Cơ sở dữ liệu SQL sẽ không được đồng bộ hóa.

Các thủ thuật xử lý data với sql

Trước khi bạn bắt đầu

Bạn muốn mọi thứ trở nên suôn sẻ hơn? Vậy thì hãy thực hiện những chuẩn bị sau đây trước khi bạn liên kết hoặc nhập:

  • Định vị tên máy chủ cơ sở dữ liệu SQL Server, xác định thông tin kết nối cần thiết và chọn phương thức xác thực (Windows hoặc SQL Server). Để biết thêm thông tin về các phương thức xác thực, xem mục Kết nối với Máy chủ (Công cụ Cơ sở dữ liệu) và mục Bảo mật cho cơ sở dữ liệu của bạn.

  • Xác định bảng hay dạng xem bạn muốn liên kết tới hoặc nhập, cùng những trường có giá trị duy nhất đối với bảng được liên kết. Bạn có thể liên kết hoặc nhập nhiều hơn một bảng hay dạng xem trong một thao tác duy nhất.

  • Hãy cân nhắc tới số cột trong từng bảng hoặc dạng xem. Access không hỗ trợ quá 255 trường cho một bảng, do vậy, Access sẽ chỉ liên kết hoặc nhập 255 cột đầu tiên. Bạn có thể tạo dạng xem trong Cơ sở dữ liệu SQL Server để truy nhập những cột vượt quá giới hạn như một giải pháp thay thế.

  • Xác định tổng số dữ liệu hiện được nhập. Kích cỡ tối đa của một cơ sở dữ liệu Access là hai gigabyte, trừ đi dung lượng cần thiết cho các đối tượng hệ thống. Nếu cơ sở dữ liệu SQL Server có chứa các bảng lớn, có thể bạn sẽ không thể nhập toàn bộ chúng vào một cơ sở dữ liệu Access duy nhất. Trong trường hợp này, hãy cân nhắc liên kết tới dữ liệu thay vì nhập.

  • Bảo mật cho cơ sở dữ liệu Access của bạn và thông tin kết nối mà cơ sở dữ liệu chứa bằng cách sử dụng một vị trí tin cậy, cùng một mật khẩu cơ sở dữ liệu Access. Điều này đặc biệt quan trọng nếu bạn chọn lưu mật khẩu SQL Server trong Access.

  • Lên kế hoạch tạo thêm các mối quan hệ. Access không tự động tạo các mối quan hệ giữa những bảng liên quan ở cuối thao tác nhập. Bạn có thể tạo mối quan hệ giữa các bảng mới và bảng hiện có bằng cách thủ công sử dụng cửa sổ Mối quan hệ. Để biết thêm thông tin, xem mục Cửa sổ Mối quan hệ là gì? và mục Tạo, chỉnh sửa hoặc xóa mối quan hệ.

Giai đoạn 1: Bắt đầu

  1. Chọn Dữ liệu Ngoài > Nguồn Dữ liệu Mới > Từ Cơ sở dữ liệu > Từ SQL Server.

  2. Trong hộp thoại Lấy Dữ liệu Ngoài – Cơ sở dữ liệu ODBC, thực hiện một trong những thao tác sau:

    • Để nhập dữ liệu, chọn Nhập dữ liệu nguồn vào một bảng mới trong cơ sở dữ liệu hiện tại.

    • Để liên kết tới dữ liệu, chọn Liên kết nguồn dữ liệu bằng cách tạo bảng được liên kết.

  3. Chọn OK.

Giai đoạn 2: Tạo hoặc tái sử dụng tệp DSN

Bạn có thể tạo tệp DSN hoặc tái sử dụng tệp hiện có. Sử dụng tệp DSN khi bạn muốn dựa vào cùng một thông tin kết nối cho các hoạt động liên kết và nhập khác hoặc để chia sẻ với một ứng dụng khác cũng sử dụng các tệp DSN. Bạn có thể tạo tệp DSN trực tiếp bằng Trình quản lý Kết nối Dữ liệu. Để biết thêm thông tin, xem mục Quản trị nguồn dữ liệu ODBC.

Dù bạn vẫn có thể sử dụng các phiên bản trước của trình điều khiển ODBC SQL, chúng tôi khuyên bạn nên sử dụng phiên bản 13.1, phiên bản chứa nhiều cải tiến và hỗ trợ các tính năng mới của SQL Server 2016. Để biết thêm thông tin, xem mục Microsoft ODBC Driver cho SQL Server trên Windows.

  1. Thực hiện một trong những thao tác sau:

    • Nếu tệp DSN bạn muốn sử dụng đã tồn tại, hãy chọn tệp đó từ danh sách.

      Các thủ thuật xử lý data với sql

      Tùy theo phương thức xác thực bạn đã nhập trong thông tin kết nối, bạn có thể cần phải nhập lại mật khẩu.

    • Cách tạo tệp DSN mới:

      1. Chọn Mới.

        Các thủ thuật xử lý data với sql
      2. Chọn Trình điều khiển ODBC 13 cho SQL Server, rồi chọn Tiếp theo.

      3. Nhập tên cho tệp DSN hoặc bấm vào Duyệt để tạo tệp trong vị trí khác.

  2. Bấm vào Tiếp theo để xem lại thông tin tóm tắt, rồi bấm vào Kết thúc.

Giai đoạn 3: Sử dụng trình hướng dẫn Tạo Nguồn Dữ liệu Mới cho SQL Server

Trong trình hướng dẫn Tạo Nguồn Dữ liệu Mới cho SQL Server, hãy thực hiện như sau:

  1. Trên trang một, nhập thông tin định danh:

    • Trong hộp Mô tả, tùy ý nhập thông tin tài liệu về tệp DSN.

    • Trong hộp Máy chủ, nhập tên SQL Server. Không bấm vào mũi tên xuống.

  2. Ở trang hai, hãy chọn một trong các phương thức xác thực sau:

    • Với xác thực Windows Tích hợp    Kết nối thông qua tài khoản người dùng Windows. Nhập tùy ý một Tên Chính của Dịch vụ (SPN). Để biết thêm thông tin, xem mục Tên Chính của Dịch vụ (SPN) trong Kết nối Máy khách (ODBC).

    • Với xác thực SQL Server...    Kết nối với thông tin xác thực đã được thiết lập trong cơ sở dữ liệu bằng cách nhập ID đăng nhập và mật khẩu.

  3. Ở trang ba và bốn, chọn các tùy chọn khác nhau để tùy chỉnh kết nối của bạn. Để biết thêm thông tin về những tùy chọn này, xem mục Microsoft ODBC Driver cho SQL Server.

  4. Một màn hình xuất hiện để xác nhận cài đặt của bạn. Chọn Kiểm tra Nguồn Dữ liệu để xác nhận kết nối của bạn.

  5. Bạn có thể cần phải đăng nhập vào cơ sở dữ liệu. Trong hộp thoại Đăng nhập SQL Server , hãy nhập ID đăng nhập và mật khẩu. Để thay đổi các cài đặt bổ sung, chọn Tùy chọn.

Giai đoạn 4: chọn bảng và dạng xem để liên kết đến hoặc nhập

  1. Trong hộp thoại Liên kết Bảng hoặc Nhập Đối tượng, bên dưới Bảng, chọn từng bảng hay dạng xem bạn muốn liên kết hoặc nhập, rồi bấm vào OK.

    Các thủ thuật xử lý data với sql
  2. Trong một hoạt động liên kết, quyết định xem có chọn Lưu Mật khẩu hay không.

    Bảo mật    Việc chọn tùy chọn này sẽ giúp bạn không cần phải nhập thông tin xác thực mỗi lần bạn mở Access và truy nhập dữ liệu. Tuy nhiên, hoạt động này sẽ lưu trữ mật khẩu chưa mã hóa trong cơ sở dữ liệu Access, nghĩa là những người có thể truy nhập vào nội dung nguồn đều có thể xem tên người dùng và mật khẩu. Nếu bạn chọn tùy chọn này, chúng tôi khuyên bạn nên lưu trữ cơ sở dữ liệu Access ở một vị trí đáng tin cậy và tạo mật khẩu cơ sở dữ liệu Access. Để biết thêm thông tin, xem mục Quyết định có tin cậy một cơ sở dữ liệu hay không và Mã hóa cơ sở dữ liệu bằng cách sử dụng mật khẩu cơ sở dữ liệu.

    Ghi chú    Nếu bạn quyết định không lưu mật khẩu, nhưng sau đó đổi ý của bạn, bạn cần xóa bỏ và tạo lại bảng đã nối kết, rồi chọn lưu mật khẩu.

Giai đoạn 5: Tạo đặc tả và tác vụ (chỉ Nhập)

  • Trong hộp thoại Lấy Dữ liệu Ngoài - Cơ sở dữ liệu ODBC, bạn có thể thường xuyên lưu các bước nhập dưới dạng đặc tả và tạo một tác vụ Outlook để tự động hóa hoạt động nhập. Để biết thêm thông tin, xem mục Lưu chi tiết về hoạt động nhập hoặc xuất dưới dạng đặc tả.

Kết quả

Khi hoạt động liên kết hoặc nhập hoàn tất, bảng sẽ xuất hiện trong Ngăn Dẫn hướng kèm theo tên tương tự như bảng hoặc dạng xem SQL Server kết hợp với tên chủ sở hữu. Ví dụ: nếu tên SQL là dbo.Product, tên Access sẽ là dbo_Product. Nếu tên đó đã được sử dụng, Access sẽ gắn thêm "1" vào tên bảng mới — ví dụ: dbo_Product1. Nếu dbo_Product1 cũng đã được sử dụng, Access sẽ tạo dbo_Product2, v.v.. Tuy nhiên, bạn vẫn có thể đổi tên cho bảng thành một cái tên có ý nghĩa hơn.

Trong một hoạt động nhập, Access sẽ không bao giờ ghi đè bảng trong cơ sở dữ liệu. Mặc dù bạn không thể trực tiếp gắn thêm dữ liệu SQL Server cho bảng hiện có nhưng bạn vẫn có thể tạo truy vấn chắp thêm để gắn thêm dữ liệu sau khi đã nhập dữ liệu từ các bảng tương tự.

Trong một thao tác liên kết, nếu các cột đang ở chế độ chỉ đọc ở bảng SQL Server, chúng cũng sẽ ở chế độ chỉ đọc trong Access.

Mẹo    Để xem chuỗi kết nối, hãy di chuột qua bảng trong ngăn dẫn hướng Access.

Cập nhật thiết kế bảng được liên kết

Bạn không thể thêm, xóa hoặc sửa đổi cột hay thay đổi kiểu dữ liệu trong bảng được liên kết. Nếu bạn muốn thực hiện thay đổi thiết kế, hãy thực hiện hoạt động này trong cơ sở dữ liệu SQL Server. Để xem thay đổi thiết kế trong Access, hãy cập nhật các bảng được liên kết:

  1. Chọn Dữ liệu Ngoài > Trình quản lý Bảng được Liên kết.

  2. Tìm kiếm từng bảng được liên kết mà bạn muốn cập nhật, chọn OK, rồi chọn Đóng.

So sánh các kiểu dữ liệu

Các kiểu dữ liệu Access sẽ được đặt tên khác nhau từ các kiểu dữ liệu của SQL Server. Ví dụ: một cột SQL Server chứa kiểu dữ liệu bit được nhập hoặc liên kết vào Access với kiểu dữ liệu Có/Không. Để biết thêm thông tin, hãy xem so sánh các kiểu dữ liệu Access và SQL Server.

Bạn có thể làm việc với dữ liệu đã lưu trữ trong SQL Server hoặc bằng cách liên kết với dữ liệu đó hay nhập dữ liệu vào một cơ sở dữ liệu Access. Liên kết là một lựa chọn tốt hơn nếu bạn chia sẻ dữ liệu với người khác vì dữ liệu được lưu trữ ở một vị trí tập trung và bạn có thể xem dữ liệu mới nhất, thêm hoặc chỉnh sửa dữ liệu cũng như chạy các truy vấn hoặc báo cáo trong Access.

Bước 1: Chuẩn bị nối kết

  1. Tìm cơ sở dữ liệu SQL Server bạn muốn nối kết đến. Nếu cần, hãy liên hệ với người quản trị cơ sở dữ liệu để biết thông tin kết nối.

  2. Xác định các bảng và dạng xem mà bạn sẽ nối kết với chúng trong cơ sở dữ liệu SQL. Bạn có thể nối kết nhiều đối tượng cùng lúc.

Xem lại dữ liệu nguồn và cân nhắc những điều sau đây:

  • Access hỗ trợ tối đa 255 trường (cột) trong một bảng, do đó bảng nối kết sẽ chỉ chứa 255 trường đầu tiên của đối tượng bạn nối kết đến.

  • Các cột có dạng chỉ đọc trong bảng SQL Server cũng sẽ có dạng chỉ đọc trong Access.

  1. Để tạo bảng liên kết trong một cơ sở dữ liệu mới: Bấm Tệp > Mới>Cơ sở dữ liệu máy tính trống. Để tạo bảng liên kết trong cơ sở dữ liệu Access hiện có, hãy đảm bảo rằng bạn có các quyền cần thiết để thêm dữ liệu vào cơ sở dữ liệu.

    Lưu ý: Một bảng được nối kết đã tạo trong một cơ sở dữ liệu Access đã có sẵn sẽ có cùng tên như trong đối tượng nguồn. Do đó, nếu bạn đã có một bảng khác có cùng tên, thì tên bảng nối kết mới sẽ được thêm số "1"  — ví dụ như, Contacts1. (Nếu Contacts1 cũng đã được sử dụng, Access sẽ tạo Contacts2, v.v.)

Bước 2: Nối kết tới dữ liệu

Khi nối kết với một bảng hoặc dạng xem trong cơ sở dữ liệu SQL Server, Access tạo ra một bảng mới (được gọi là một bảng nối kết) phản ánh cấu trúc và nội dung của bảng nguồn. Bạn có thể thay đổi dữ liệu trong SQL Server, trong dạng xem Biểu dữ liệu hoặc dạng xem Biểu mẫu từ Access và những thay đổi đó được phản ánh ở cả SQL và Access. Mọi thay đổi cấu trúc đối với các bảng nối kết như xóa hoặc thay đổi các cột đều phải được thực hiện từ SQL Server chứ không phải từ Access.

  1. Mở cơ sở dữ liệu Access đích.

  2. Trên tab Dữ liệu Ngoài, bấm Cơ sở dữ liệu ODBC.

  3. Bấm vào Liên kết tới nguồn dữ liệu bằng cách tạo bảng liên kết > OK rồi làm theo các bước trong trình hướng dẫn. Ở hộp Chọn Nguồn Dữ liệu, nếu tệp .dsn bạn muốn dùng đã tồn tại, hãy bấm vào tệp này trong danh sách tệp.

    Cách tạo tệp .dsn mới:

    Trong hộp Chọn Nguồn Dữ liệu, bấm Mới> SQL Server > Tiếp theo.

    1. Nhập tên cho tệp .dsn, hoặc bấm Duyệt.

      Lưu ý: Để lưu tệp .dsn, bạn cần có quyền ghi vào thư mục.

    2. Bấm Tiếp theo để xem lại thông tin tóm tắt, rồi bấm Kết thúc.

      Làm theo các bước trong Trình hướng dẫn Tạo Nguồn Dữ liệu Mới đến SQL Server.

  4. Bấm OK và dưới Bảng, bấm vào từng bảng hoặc dạng xem bạn muốn nối kết đến, rồi bấm OK.

Nếu bạn thấy Mã định danh Bản ghi Duy nhất, có nghĩa là Access không xác định được trường hoặc các trường nào định danh riêng từng hàng dữ liệu nguồn. Chỉ cần chọn trường hoặc tổ hợp trường duy nhất cho mỗi hàng và nếu bạn không chắc, hãy hỏi người quản trị cơ sở dữ liệu SQL Server.

Khi thao tác nối kết hoàn tất, bạn có thể nhìn thấy bảng hoặc các bảng nối kết mới trong Ngăn Điều hướng.

Áp dụng cấu trúc đối tượng SQL Server mới nhất

Khi bạn mở một bảng nối kết hoặc đối tượng nguồn, bạn sẽ thấy dữ liệu mới nhất. Tuy nhiên, nếu đã có bất kỳ thay đổi cấu trúc nào đối với một đối tượng SQL Server, bạn sẽ phải cập nhật (các) bảng nối kết để xem những thay đổi đó.

  1. Bấm chuột phải vào bảng trong Ngăn Điều hướng rồi bấm Trình quản lý Bản được Nối kết trên menu lối tắt.

  2. Chọn hộp kiểm kế bên mỗi bảng nối kết mà bạn muốn cập nhật, hoặc bấm Chọn Tất cả để chọn tất cả các bảng nối kết.

  3. Bấm OK > Đóng.

Lưu ý: Vì kiểu dữ liệu Access khác với kiểu dữ liệu SQL Server nên Access sẽ nối kết tới kiểu dữ liệu thích hợp nhất đối với mỗi cột. Bạn chỉ có thể xem chứ không thay đổi được các kiểu dữ liệu đã gán trong Access.

Để biết thêm thông tin, hãy xem mục cách chia sẻ một cơ sở dữ liệu Access trên máy tính.

Đầu Trang

Nếu bộ phận hoặc nhóm làm việc của bạn sử dụng Microsoft SQL Server để lưu trữ dữ liệu, bạn có thể phải làm việc với một số dữ liệu SQL Server trong Access.

Bạn có thể đưa dữ liệu từ các đối tượng SQL Server (bảng hoặc dạng xem) vào Access theo một trong hai cách — bằng cách nhập hoặc bằng cách liên kết. Điểm khác biệt giữa hai quy trình này như sau:

  • Khi bạn nhập dữ liệu, Access sẽ tạo một bản sao dữ liệu SQL Server và mọi thay đổi sau này được thực hiện đối với dữ liệu trong cơ sở dữ liệu Access của bạn đều sẽ không được phản ánh trong cơ sở dữ liệu SQL Server. Tương tự vậy, mọi thay đổi sau này được thực hiện trong bảng hoặc dạng xem SQL Server đều sẽ không được phản ánh trong Access.

  • Khi bạn liên kết đến dữ liệu SQL Server, bạn đang kết nối trực tiếp đến dữ liệu nguồn, do đó, mọi thay đổi sau này đối với dữ liệu trong Access đều sẽ được phản ánh trong SQL Server và ngược lại.

Bài viết này mô tả cách nhập hoặc liên kết đến dữ liệu SQL Server.

Hãy quyết định xem nên nhập hay liên kết

Những tình huống nên nhập

Thông thường, bạn nhập dữ liệu SQL Server vào cơ sở dữ liệu Access vì những lý do sau:

  • Để di chuyển vĩnh viễn dữ liệu SQL Server sang cơ sở dữ liệu Access vì bạn không còn cần dữ liệu đó trong cơ sở dữ liệu SQL Server. Sau khi nhập dữ liệu vào Access, bạn có thể xóa dữ liệu đó khỏi cơ sở dữ liệu SQL Server.

  • Bộ phận hoặc nhóm làm việc của bạn sẽ dùng Access nhưng đôi khi, bạn lại hướng vào một cơ sở dữ liệu SQL Server để lấy thêm dữ liệu vốn phải được phối vào một trong những cơ sở dữ liệu Access của bạn.

Vì việc nhập dữ liệu SQL Server sẽ tạo một bản sao dữ liệu trong cơ sở dữ liệu Access nên trong quá trình nhập, bạn cần xác định bảng hoặc dạng xem bạn muốn sao chép.

Những tình huống nên liên kết

Thông thường, bạn liên kết đến dữ liệu SQL Server vì những lý do sau:

  • Nhằm kết nối trực tiếp với dữ liệu nguồn để có thể xem và chỉnh sửa những thông tin mới nhất cả trong cơ sở dữ liệu SQL Server và trong cơ sở dữ liệu Access của bạn.

  • Cơ sở dữ liệu SQL Server có chứa nhiều bảng lớn và bạn sẽ không thể nhập toàn bộ những bảng đó vào cùng một tệp .accdb duy nhất. Kích cỡ tối đa của một cơ sở dữ liệu Access là 2 gigabyte, trừ đi dung lượng cần thiết cho các đối tượng hệ thống.

  • Bạn muốn chạy truy vấn và tạo các báo cáo dựa trên dữ liệu từ SQL Server mà không cần tạo bản sao dữ liệu, hãy cân nhắc việc liên kết đến SQL Server.

  • Bộ phận hoặc nhóm làm việc của bạn sẽ dùng Access cho việc báo cáo và truy vấn, đồng thời sẽ dùng SQL Server để lưu trữ dữ liệu. Các nhóm riêng có thể tạo bảng và dạng xem SQL Server để lưu trữ tập trung nhưng thường thì dữ liệu này phải được chuyển sang những chương trình máy tính để tổng hợp và báo cáo. Liên kết là một lựa chọn thích hợp, vì phương pháp này cung cấp cho người dùng cả cơ sở dữ liệu SQL Server và cơ sở dữ liệu Access để thêm cũng như cập nhật dữ liệu, đồng thời để luôn xem được và làm việc với các dữ liệu mới nhất.

  • Bạn là một người dùng Access vừa mới bắt đầu sử dụng SQL Server gần đây. Bạn đã di chuyển một số cơ sở dữ liệu sang SQL Server và đa số các bảng trong những cơ sở dữ liệu này đều là bảng được liên kết. Từ lúc này trở đi, thay vì việc tạo các bảng Access, bạn sẽ tạo được các bảng và dạng xem trong SQL Server, rồi liên kết tới các bảng và dạng xem này từ cơ sở dữ liệu Access của bạn.

  • Bạn muốn tiếp tục lưu trữ dữ liệu của mình trong SQL Server nhưng bạn cũng muốn làm việc với các dữ liệu mới nhất trong Access để chạy truy vấn và in những báo cáo mà bạn đã thiết kế trong Access.

Đầu Trang

Nhập dữ liệu từ SQL Server

Chuẩn bị để nhập

Trong khi thao tác nhập, Access sẽ tạo một bảng rồi sao chép dữ liệu từ cơ sở dữ liệu SQL Server vào bảng đó. Khi kết thúc thao tác nhập, bạn có thể chọn lưu các chi tiết của thao tác nhập dưới dạng một đặc tả.

Lưu ý: Đặc tả nhập sẽ giúp bạn lặp lại thao tác nhập trong tương lai mà không cần phải sử dụng Trình hướng dẫn Nhập mỗi lần thao tác.

  1. Định vị cơ sở dữ liệu SQL Server chứa dữ liệu bạn muốn nhập. Liên hệ với người quản trị cơ sở dữ liệu để biết thông tin kết nối.

  2. Xác định các bảng hoặc dạng xem bạn muốn nhập. Bạn có thể nhập nhiều đối tượng trong một thao tác nhập duy nhất.

  3. Xem lại dữ liệu nguồn và nhớ cân nhắc những điều sau đây:

    • Access không hỗ trợ quá 255 trường cho một bảng, do vậy, Access sẽ chỉ nhập 255 cột đầu tiên.

    • Kích cỡ tối đa của một cơ sở dữ liệu Access là 2 gigabyte, trừ đi dung lượng cần thiết cho các đối tượng hệ thống. Nếu cơ sở dữ liệu SQL Server có chứa nhiều bảng lớn, có thể bạn sẽ không thể nhập toàn bộ những bảng này vào một tệp .accdb duy nhất. Trong trường hợp này, bạn có thể cần phải cân nhắc liên kết dữ liệu tới cơ sở dữ liệu Access để thay thế.

    • Access sẽ không tự động tạo ra các mối quan hệ giữa các bảng liên quan khi kết thúc thao tác nhập. Bạn phải tạo thủ công các mối quan hệ giữa nhiều bảng đã có sẵn và mới bằng cách dùng các tùy chọn trong cửa sổ Mối quan hệ. Cách hiển thị cửa sổ Mối quan hệ:

      • Bấm vào Công cụ Cơ sở dữ liệu > Quan hệ.

  4. Xác định cơ sở dữ liệu Access bạn muốn nhập dữ liệu SQL Server.

    Hãy đảm bảo là bạn có các quyền cần thiết để thêm dữ liệu vào cơ sở dữ liệu Access. Nếu bạn không muốn lưu trữ dữ liệu trong bất kỳ cơ sở dữ liệu hiện có nào của mình, hãy tạo một cơ sở dữ liệu trống mới.

  5. Xem lại các bảng, nếu có bất kỳ bảng nào tồn tại, trong cơ sở dữ liệu Access.

    Thao tác nhập sẽ tạo ra một bảng có cùng tên giống với đối tượng SQL Server. Nếu tên đó đã được dùng rồi, Access sẽ chắp thêm "1" vào tên của bảng mới — ví dụ: Liên_hệ_1. (Nếu Liên_hệ_1 cũng đã được dùng rồi, Access sẽ tạo ra Liên_hệ_2, v.v..)

    Lưu ý: Access tuyệt đối không ghi đè lên bảng trong cơ sở dữ liệu như một phần của thao tác nhập và bạn cũng không thể chắp thêm dữ liệu SQL Server vào một bảng đã có sẵn.

Nhập dữ liệu

  1. Mở cơ sở dữ liệu đích.

    Trên tab Dữ liệu Ngoài, trong nhóm Nhập & Liên kết, hãy bấm vào Cơ sở dữ liệu ODBC.

  2. Bấm Nhập dữ liệu nguồn vào trong một bảng mới ở cơ sở dữ liệu hiện tại, rồi bấm OK.

  3. Trong hộp thoại Chọn Nguồn Dữ liệu, nếu tệp .dsn bạn muốn sử dụng đã tồn tại, hãy bấm vào tệp trong danh sách.

    Tôi cần tạo tệp .dsn mới

    Lưu ý: Các bước trong quy trình này có thể hơi khác đối với bạn, tùy theo phần mềm được cài đặt trên máy tính của bạn.

    1. Bấm Mới để tạo tên nguồn dữ liệu mới (DSN).

      Trình hướng dẫn Tạo Nguồn Dữ liệu Mới sẽ khởi động.

    2. Trong trình hướng dẫn, hãy chọn SQL Server ở danh sách các trình điều khiển, rồi bấm Tiếp theo.

    3. Nhập tên cho tệp .dsn hoặc bấm vào Duyệt để lưu tệp vào vị trí khác.

      Lưu ý: Để lưu tệp .dsn, bạn phải có quyền ghi vào thư mục.

    4. Bấm vào Tiếp theo, xem lại thông tin tóm tắt, rồi bấm vào Kết thúc để hoàn thành trình hướng dẫn.

      Hộp thoại Tạo Nguồn Dữ liệu Mới cho SQL Server sẽ xuất hiện.

    5. Nhập mô tả nguồn dữ liệu trong hộp Mô tả. Đây là bước tùy chọn.

    6. Dưới mục Bạn muốn kết nối với SQL Server nào, trong hộp Máy chủ, nhập hoặc chọn tên của SQL Server bạn muốn kết nối, rồi bấm Tiếp theo để tiếp tục.

    7. Bạn có thể yêu cầu thông tin từ người quản trị cơ sở dữ liệu SQL Server, chẳng hạn như nên sử dụng xác thực Microsoft Windows NT hay xác thực SQL Server. Bấm Tiếp theo để tiếp tục.

    8. Nếu bạn muốn kết nối với một cơ sở dữ liệu cụ thể, hãy đảm bảo rằng hộp kiểm Thay đổi cơ sở dữ liệu mặc định thành được chọn. Sau đó, chọn cơ sở dữ liệu bạn muốn làm việc, rồi bấm Tiếp theo.

    9. Bấm Kết thúc.

    10. Xem lại thông tin tóm tắt rồi bấm Kiểm tra Nguồn Dữ liệu.

    11. Xem lại kết quả kiểm tra, rồi bấm OK để đóng hộp thoại.

      Nếu kiểm tra thành công, bấm OK một lần nữa hoặc bấm Hủy bỏ để thay đổi cài đặt của bạn.

  4. Bấm OK để đóng hộp thoại Chọn Nguồn Dữ liệu.

    Access sẽ hiển thị hộp thoại Nhập Đối tượng.

  5. Dưới Bảng, bấm vào từng bảng hoặc dạng xem bạn muốn nhập, rồi bấm OK.

  6. Nếu hộp thoại Chọn Mã định danh Bản ghi Duy nhất xuất hiện, có nghĩa là Access không xác định được trường nào định danh riêng từng hàng của một đối tượng cụ thể. Trong trường hợp này, hãy chọn trường hoặc tổ hợp trường duy nhất cho từng hàng, rồi bấm OK. Nếu bạn không chắc, hãy hỏi người quản trị cơ sở dữ liệu SQL Server.

    Access nhập dữ liệu. Nếu sau này, bạn dự định lặp lại thao tác nhập, bạn có thể lưu các bước nhập dưới dạng một đặc tả nhập và dễ dàng chạy lại các bước nhập tương tự sau này. Bạn cần cài đặt Microsoft Office Outlook trên máy tính để tạo tác vụ.

  7. Bấm Đóng dưới Lưu Các bước Nhập trong hộp thoại Lấy Dữ liệu Ngoài - Cơ sở dữ liệu ODBC. Access sẽ hoàn tất thao tác nhập và hiển thị những bảng mới trong Ngăn Dẫn hướng.

Nếu bạn muốn lưu thao tác nhập dưới dạng một tác vụ để tái sử dụng, hãy tiếp tục đến mục tiếp theo.

Đầu Trang

Liên kết với dữ liệu SQL Server

Vì dữ liệu được lưu trữ trong các bảng nên khi bạn liên kết với một bảng hoặc dạng xem trong cơ sở dữ liệu SQL Server, Access sẽ tạo một bảng mới (thường được gọi là bảng được liên kết) phản ánh cấu trúc và nội dung của đối tượng nguồn. Bạn có thể thay đổi dữ liệu trong SQL Server hoặc trong dạng xem Biểu dữ liệu hay dạng xem Biểu mẫu từ Access. Những thay đổi bạn thực hiện với dữ liệu tại một vị trí sẽ được phản ánh tại vị trí khác. Tuy nhiên, nếu bạn muốn thực hiện thay đổi cấu trúc, như loại bỏ hoặc thay đổi một cột, bạn phải làm việc đó từ cơ sở dữ liệu SQL Server hoặc từ một dự án Access được kết nối với cơ sở dữ liệu đó. Bạn không thể thêm, xóa hoặc thay đổi các trường ở một bảng được liên kết khi bạn đang làm việc trong Access.

Chuẩn bị để liên kết

  1. Tìm cơ sở dữ liệu SQL Server chứa dữ liệu bạn muốn liên kết đến. Hãy liên hệ với người quản trị cơ sở dữ liệu để biết thông tin kết nối.

  2. Xác định bảng và dạng xem bạn muốn liên kết đến. Bạn có thể liên kết với nhiều đối tượng trong một thao tác liên kết duy nhất.

  3. Xem lại dữ liệu nguồn và nhớ cân nhắc những điều sau đây:

    • Access hỗ trợ tối đa 255 trường trong một bảng, do đó, bảng liên kết sẽ chỉ chứa 255 trường đầu tiên của đối tượng bạn liên kết đến.

    • Các cột có dạng chỉ đọc trong đối tượng SQL Server cũng sẽ tiếp tục có dạng chỉ đọc trong Access.

    • Bạn sẽ không thể thêm, xóa hoặc sửa đổi cột trong bảng được liên kết ở Access.

  4. Xác định cơ sở dữ liệu Access mà bạn muốn tạo các bảng được liên kết. Hãy đảm bảo là bạn có quyền cần thiết để thêm dữ liệu vào cơ sở dữ liệu. Nếu bạn không muốn lưu dữ liệu trong mọi cơ sở dữ liệu đã có sẵn, hãy tạo một cơ sở dữ liệu mới và trống bằng cách bấm vào tab Tệp, rồi trên tab Mới, bấm vào Cơ sở dữ liệu Trống.

  5. Xem lại các bảng trong cơ sở dữ liệu Access. Khi bạn liên kết đến một bảng hoặc dạng xem SQL Server, Access sẽ tạo một bảng được liên kết có cùng tên với đối tượng nguồn. Nếu tên đó đã được dùng rồi, Access sẽ gắn thêm "1" vào tên bảng mới được liên kết — ví dụ: Liên_hệ_1. (Nếu Liên_hệ_1 cũng đã được dùng rồi, Access sẽ tạo Liên_hệ_2, v.v..)

  6. Để liên kết đến dữ liệu, hãy mở cơ sở dữ liệu đích.

  7. Trên tab Dữ liệu Ngoài, trong nhóm Nhập & Liên kết, hãy bấm vào Cơ sở dữ liệu ODBC.

  8. Bấm Liên kết đến nguồn dữ liệu bằng cách tạo bảng được liên kết, rồi bấm OK.

  9. Trong hộp thoại Chọn Nguồn Dữ liệu, bấm vào tệp .dsn bạn muốn dùng hoặc bấm vào Mới để tạo tên nguồn dữ liệu mới (DSN).

  10. Trong hộp thoại Chọn Nguồn Dữ liệu nếu tệp .dsn bạn muốn sử dụng đã tồn tại, hãy bấm vào tệp trong danh sách.

    Tôi cần tạo tệp .dsn mới

    Lưu ý: Các bước trong quy trình này có thể hơi khác đối với bạn, tùy theo phần mềm được cài đặt trên máy tính của bạn.

    1. Bấm Mới để tạo tên nguồn dữ liệu mới (DSN).

      Trình hướng dẫn Tạo Nguồn Dữ liệu Mới sẽ khởi động.

    2. Trong trình hướng dẫn, hãy chọn SQL Server ở danh sách các trình điều khiển, rồi bấm Tiếp theo.

    3. Nhập tên cho tệp .dsn hoặc bấm vào Duyệt để lưu tệp vào vị trí khác.

      Lưu ý: Để lưu tệp .dsn, bạn phải có quyền ghi vào thư mục.

    4. Bấm vào Tiếp theo, xem lại thông tin tóm tắt, rồi bấm vào Kết thúc để hoàn thành Trình hướng dẫn Tạo Nguồn Dữ liệu Mới.

      Trình hướng dẫn Tạo Nguồn Dữ liệu Mới cho SQL Server sẽ khởi động.

    5. Trong trình hướng dẫn, nhập mô tả nguồn dữ liệu vào hộp Mô tả. Đây là bước tùy chọn.

    6. Dưới mục Bạn muốn kết nối với SQL Server nào, trong hộp Máy chủ, nhập hoặc chọn tên của máy Ứng dụng SQL Server bạn muốn kết nối, rồi bấm Tiếp theo để tiếp tục.

    7. Trên trang này của trình hướng dẫn, bạn có thể cần có thông tin từ người quản trị cơ sở dữ liệu SQL Server, chẳng hạn như nên sử dụng xác thực Microsoft Windows NT hay xác thực SQL Server. Bấm Tiếp theo để tiếp tục.

    8. Trên trang tiếp theo của trình hướng dẫn, bạn có thể cần biết thêm thông tin từ người quản trị cơ sở dữ liệu SQL Server. Nếu bạn muốn kết nối với một cơ sở dữ liệu cụ thể, hãy đảm bảo rằng hộp kiểm Thay đổi cơ sở dữ liệu mặc định thành đã được chọn, chọn cơ sở dữ liệu SQL Server bạn muốn làm việc, rồi bấm Tiếp theo.

    9. Bấm Kết thúc. Xem lại thông tin tóm tắt, rồi bấm vào Kiểm tra Nguồn Dữ liệu.

    10. Xem lại kết quả kiểm tra, rồi bấm OK để đóng hộp thoại Kiểm tra Nguồn Dữ liệu ODBC của SQL Server.

      Nếu việc kiểm tra thành công, hãy bấm OK lần nữa để hoàn thành trình hướng dẫn hoặc bấm Hủy bỏ để quay lại trình hướng dẫn và thay đổi cài đặt của bạn.

  11. Bấm OK.

    Access sẽ hiển thị hộp thoại Liên kết Bảng.

  12. Dưới Bảng, bấm vào từng bảng hoặc dạng xem bạn muốn liên kết đến, rồi bấm OK.

    1. Nếu hộp thoại Chọn Mã định danh Bản ghi Duy nhất xuất hiện, có nghĩa là Access không xác định được trường nào định danh riêng từng hàng của dữ liệu nguồn. Trong trường hợp này, hãy chọn trường hoặc tổ hợp trường duy nhất cho từng hàng, rồi bấm OK. Nếu bạn không chắc, hãy hỏi người quản trị cơ sở dữ liệu SQL Server.

Access hoàn tất thao tác liên kết và hiển thị những bảng được liên kết mới trong Ngăn Dẫn hướng.

Quan trọng: Mỗi lần bạn mở bảng đã liên kết hoặc đối tượng nguồn, bạn sẽ thấy dữ liệu mới nhất được hiển thị trong đó. Tuy nhiên, những thay đổi cấu trúc đối với một đối tượng SQL Server không tự động được phản ánh trong bảng đã liên kết.

Cập nhật bảng được liên kết bằng cách áp dụng cấu trúc đối tượng SQL Server mới nhất

  1. Bấm chuột phải vào bảng trong Ngăn Điều hướng rồi bấm Trình quản lý Bản được Nối kết trên menu lối tắt.

  2. Chọn hộp kiểm kế bên mỗi bảng nối kết mà bạn muốn cập nhật, hoặc bấm Chọn Tất cả để chọn tất cả các bảng nối kết.

  3. Bấm OK.

    Nếu cập nhật thành công, Access sẽ hiển thị thông báo cập nhật có hiệu lực. Nếu không, Access sẽ hiển thị thông báo lỗi.

  4. Bấm Đóng để đóng Trình quản lý Bảng được Liên kết.

Đầu Trang

Tôi nên biết những gì khác?

  • Để biết thông tin về cách lưu chi tiết nhập vào đặc tả để sau này bạn có thể tái sử dụng, hãy xem bài viết Lưu chi tiết thao tác nhập hoặc xuất dưới dạng đặc tả.

  • Để biết thông tin về cách chạy đặc tả nhập đã lưu, hãy xem bài viết Chạy thao tác nhập hoặc xuất đã lưu.

  • Để biết thông tin về cách lên lịch chạy đặc tả vào thời điểm cụ thể, xem bài viết Lên lịch thao tác nhập hoặc xuất.

  • Để biết thông tin về cách thay đổi tên đặc tả, xóa đặc tả hoặc cập nhật tên của tệp nguồn trong đặc tả, hãy xem bài viết Quản lý Tác vụ Dữ liệu.

Đầu Trang

Cách Access xử lý kiểu dữ liệu SQL Server

Vì kiểu dữ liệu Access khác với kiểu dữ liệu SQL Server nên Access phải xác định kiểu dữ liệu Access thích hợp nhất để dùng cho từng cột trong mỗi bảng hoặc dạng xem SQL Server mà bạn nhập hoặc liên kết đến. Ví dụ: một cột SQL Server chứa kiểu dữ liệu bit được nhập hoặc liên kết vào Access với kiểu dữ liệu Có/Không. Ví dụ khác: một cột SQL Server chứa kiểu dữ liệu nvarchar(255) (hoặc nhỏ hơn) được nhập hoặc liên kết với kiểu dữ liệu Văn bản nhưng cột chứa kiểu dữ liệu nvarchar(256) (hoặc lớn hơn) được nhập dưới dạng một trường Bản ghi nhớ Access. Sau khi hoàn tất thao tác nhập hoặc liên kết, bạn có thể mở bảng trong dạng xem Thiết kế và xác nhận kiểu dữ liệu mà Access gán cho trường của bảng đó. Bạn có thể thay đổi kiểu dữ liệu của các trường trong bảng đã nhập. Tuy nhiên, bạn không thể thay đổi kiểu dữ liệu của các trường trong bảng được liên kết, ngoại trừ bằng cách thay đổi chúng trong chính cơ sở dữ liệu SQL Server hoặc trong dự án Access được kết nối với cơ sở dữ liệu đó.

Bảng sau liệt kê các kiểu dữ liệu SQL Server chính. Cột thứ hai và thứ ba hiển thị cách thức Access diễn giải từng kiểu dữ liệu.

Kiểu dữ liệu SQL Server

Kiểu dữ liệu Access

Kích cỡ trường Access

bigint

Văn bản

255

nhị phân ( kích cỡ trường )

Nhị phân

Tương tự như kích cỡ trường SQL Server

bit

Có/Không

char( kích cỡ trường ), trong đó kích cỡ trường nhỏ hơn hoặc bằng 255

Văn bản

Tương tự như kích cỡ trường SQL Server

char( kích cỡ trường ), trong đó kích cỡ trường lớn hơn 255

Bản ghi nhớ

datetime

Ngày/Giờ

thập phân ( độ chính xác , chia tỷ lệ )

Số

Thập phân (Thuộc tính Độ chính xác và Chia tỷ lệ của Access khớp với độ chính xác và chia tỷ lệ của SQL Server.)