Bài tập

Phân tích các kiểu dữ liệu và hàm xử lý dữ liệu trong SQL

Huy Erick

Trong chuỗi series "Tài liệu tự học SQL", chúng ta đã tìm hiểu về SQL và tổng quan về nó trong phần 1. Bây giờ, chúng ta sẽ cùng DATAPOT đi sâu vào các kiểu...

Trong chuỗi series "Tài liệu tự học SQL", chúng ta đã tìm hiểu về SQL và tổng quan về nó trong phần 1. Bây giờ, chúng ta sẽ cùng DATAPOT đi sâu vào các kiểu dữ liệu trong SQL và cách sử dụng các hàm xử lý dữ liệu để đạt hiệu quả cao hơn.

Cách xem thuộc tính của cột (Column properties)

Tên cột: Tên của cột đã chọn.

Kiểu dữ liệu: Hiển thị kiểu dữ liệu của cột đã chọn.

Chỉ mục (Index - IX): Chỉ mục dùng để truy vấn nhanh hơn, giúp giảm số lượng trang dữ liệu cần được đọc để truy vấn dữ liệu trong một câu lệnh SQL.

Một số các ràng buộc (Constraints) được ứng dụng vào các cột hoặc các bảng

  • Giá trị không tồn tại hoặc không xác định (NULL): Là các cột không có giá trị không tồn tại (NULL VALUE).
  • Giá trị duy nhất (UNIQUE): Tất cả các giá trị trong cột đều khác nhau.
  • Khóa chính (PRIMARY KEY): Khóa chính là sự kết hợp của giá trị không tồn tại (NULL VALUE) và giá trị duy nhất (Unique). Tồn tại duy nhất một khóa chính trong một bảng dữ liệu.
  • Khóa ngoại (FOREIGN KEY): Khóa ngoại là một hoặc nhiều cột trong bảng mà chứa giá trị tham chiếu liên kết với với khóa chính của bảng khác. Khóa chính và khóa ngoại sẽ được nêu trong chapter 3 của textbook này.
  • Kiểm tra (CHECK): Đảm bảo giá trị trong cột thỏa mãn các điều kiện nhất định.
  • DEFAULT: Đặt một giá trị mặc định cho cột nếu cột không có giá trị nào được chỉ định.
  • Tạo chỉ mục (CREATE INDEX): Giúp truy vấn dữ liệu nhanh chóng hơn.

Kiểu dữ liệu trong SQL Server (Data type)

Có một số kiểu dữ liệu thường gặp trong SQL Server:

Dữ liệu dạng số:

  • Dữ liệu dạng số xấp xỉ:
    • FLOAT(N): Định dạng dữ liệu được sử dụng để lưu trữ các số thực.
    • REAL: Được sử dụng để lưu trữ số thực, ít chính xác hơn FLOAT().
  • Dữ liệu dạng số chính xác:
    • DECIMAL(p,s): Được sử dụng để lưu trữ số thập phân có độ chính xác cố định.
    • NUMERIC(p,s): Kiểu dữ liệu số nguyên.

Dữ liệu dạng ký tự:

  • Dữ liệu dạng chuỗi ký tự:
    • CHAR[( n | max)]: Lưu trữ chuỗi ký tự có kích thước cố định, tương ứng n.
    • VARCHAR [( n | max)]: Dữ liệu chuỗi có kích thước linh hoạt, kích thước tương ứng n hoặc max.
    • TEXT: Lưu trữ các chuỗi ký tự lớn, định dạng TEXT không có tham biến, nhưng sẽ lưu trữ tối đa trong phạm vi khoảng 2GB, trong khi đó VARCHAR có thể lưu trữ với phạm vi ngắn khoảng 8000 byte.
  • Dữ liệu dạng chuỗi nhị phân:
    • BINARY: Dùng để lưu trữ các dãy byte có độ dài cố định.
  • Dữ liệu dạng ký tự Unicode:
    • NCHAR [( n | max)]: Lưu trữ chuỗi có độ dài cố định, có kích thước tương ứng n hoặc max và cho phép lưu trữ dưới dạng Unicode.
    • NVARCHAR [( n | max)]: Lưu trữ chuỗi ký tự có độ dài linh hoạt, có kích thước tương ứng n hoặc max, cho phép Unicode.
    • NTEXT: Chuỗi ký tự có độ dài linh hoạt, tối đa lưu trữ khoảng 1073741823 byte, cho phép Unicode.

Dữ liệu dạng ngày & giờ: Dữ liệu dạng ngày và giờ có các định dạng khác nhau, tùy thuộc vào yêu cầu và cách định dạng.

1