Các kiểu dữ liệu
Trong cơ sở dữ liệu, mỗi cột, biến địa phương, expression và tham số có kiểu dữ liệu có liên quan.
Kiểu dữ liệu là thuộc tính xác định các loại dữ liệu mà đối tượng có thể tổ chức.
Sau đây là các kiểu dữ liệu khác nhau:
- Integer Types
- Boolean Type
- Decimal Types
- Monetary or Currency Types
- Date and Time Values
- String Values
- Binary Values
- Timestamp
- Uniqueidentifier
- XML
1. Integer Types
- Các kiểu Integer giữ giá trị số nguyên.
- Các kiểu Integer là tinyint, smallint, int và bigint kiểu dữ liệu với kích thước 1, 2, 4 và 8 byte tương ứng.
Integer Types | Bytes |
Tinyint | 1 |
Smallint | 2 |
Int | 4 |
Bigint | 8 |
2. Boolean Type
- Kiểu Boolean có thể giữ các giá trị boolean
- Nó có thể cung cấp kiểu dữ liệu "bit" mà có thể mất một giá trị 1, 0 hoặc NULL
Lưu ý: Chuỗi giá trị TRUE và FALSE có thể được chuyển đổi sang giá trị bit: TRUE được chuyển đến 1 và FALSE được chuyển đổi sang 0.
3. Decimal Types
Các Kiểu thập phân giữ giá trị thập phân.
Chúng cung cấp các loại sau đây:
- decimal and numeric
- float and real
Decimal and numeric
- Decimal [(p [, s])] và numeric[(p [, s])]
- p (độ chính xác) -> tổng số tối đa số chữ số thập phân có thể được lưu trữ, cả hai bên trái và bên phải của số thập phân. Độ chính xác phải là một giá trị từ 1 đến độ chính xác tối đa là 38. Độ chính xác mặc định là 18.
- s (scale) -> số lượng tối đa các chữ số thập phân có thể được lưu trữ ở bên phải của số thập phân. Quy mô phải là một giá trị từ 0 đến p. Quy mô có thể được xác định chỉ khi độ chính xác được quy định cụ thể. Quy mô mặc định là 0.
- Các kích thước lưu trữ của các kiểu Decimal và Numeric khác nhau, dựa vào độ chính xác, như thể hiện sau đây:
Precision | Storage bytes |
1 to 9 | 5 |
10 to 19 | 9 |
20 to 28 | 13 |
29 to 38 | 17
|
Lưu ý: numeric có chức năng tương đương với decimal.
Float and real
- float [(n)] và real
- Ước tính số kiểu dữ liệu sử dụng với dữ liệu điểm số nổi.
- Dữ liệu dấu chấm động là gần đúng, do đó, không phải tất cả các giá trị trong phạm vi kiểu dữ liệu có thể được đại diện chính xác.
- Trong đó n là số bit được sử dụng để lưu trữ các mantissa của số float trong ký hiệu khoa học, và do đó, dictates chính xác và kích thước lưu trữ.
- Nếu n được quy định cụ thể sau đó nó phải là một giá trị giữa 1 và 53.
- Giá trị mặc định của n là 53.
n value | Precision | Storage size |
1 to 24 | 7 digits | 4 bytes |
25 to 53 | 15 digits | 8 bytes |
4. Monetary hoặc Currency Types
- Các loại tiền tệ hoặc ngoại tệ giữ giá trị tiền tệ.
- Nó cung cấp kiểu dữ liệu smallmoney và money với kích thước 4 và 8 byte tương ứng.
Monetary Types | Bytes |
Smallmoney | 4 |
Money | 8 |
5. Date and Time Values
Các giá trị ngày và thời gian giữ các giá trị ngày và thời gian của một ngày.
Nó cung cấp các loại sau đây:
Data type | Range | Accuracy |
Smalldatetime | January 1, 1900, through June 6, 2079 | 1 minute |
Datetime | January 1, 1753, through December 31, 9999 | 3.33 milliseconds |
Smalldatetime
- Các kiểu dữ liệu smalldatetime lưu trữ ngày tháng và thời gian trong ngày với độ chính xác ít hơn datetime.
- Công cụ cơ sở dữ liệu lưu trữ các giá trị smalldatetime như hai 2-byte số nguyên.
- 2 byte đầu tiên lưu trữ số ngày sau 01 tháng 1 năm 1900.
- 2 byte khác lưu các số phút kể từ nửa đêm.
Datetime
- Các giá trị với các kiểu dữ liệu datetime được lưu trữ nội bộ bởi các công cụ cơ sở dữ liệu Microsoft Server SQL 2005 là hai số nguyên 4-byte.
- 4 byte đầu tiên lưu trữ số lượng ngày trước hoặc sau ngày cơ sở: 01 Tháng Một năm 1900.
- Ngày cơ sở các tài liệu tham khảo hệ thống ngày.
- 4 byte lưu trữ thời gian trong ngày biểu diễn như là số mili giây sau nửa đêm.
6. String Values
Chuỗi giá trị giữ các giá trị chuỗi
Kiểu chuỗi là:
- Char
- Varchar
- Text
- Nchar
- Nvarchar
- Ntext
Char
- char [(n)]
- Độ dài cố định, dữ liệu non-Unicode với chiều dài của byte n.
- n phải là một giá trị từ 1 đến 8000.
- Kích thước lưu trữ là n byte.
Varchar
- varchar [(n | max)]
- Độ dài thay đổi, dữ liệu ký tự Unicode.
- n có thể là một giá trị từ 1 đến 8000.
- tối đa chỉ ra rằng kích thước lưu trữ tối đa là 2 ^ 31-1 bytes.
- Kích thước lưu trữ là chiều dài thực tế của dữ liệu nhập vào + 2 byte.
Text
- Đó là bằng varchar (max) kiểu dữ liệu này sẽ được gỡ bỏ trong một phiên bản tương lai của Microsoft SQL Server.
- Tránh sử dụng các loại dữ liệu trong công cụ phát triển mới, thay vì sử dụng varchar (max).
Nchar
- nchar [(n)]
- Độ dài cố định dữ liệu ký tự Unicode của các ký tự n.
- n phải là một giá trị từ 1 đến 4000.
- Kích thước lưu trữ là hai lần n byte.
Nvarchar
- nvarchar [(n | max)]
- Độ dài thay đổi dữ liệu ký tự Unicode.
- n có thể là một giá trị từ 1 đến 4000.
- tối đa chỉ ra rằng kích thước lưu trữ tối đa là 2 ^ 31-1 bytes.
- Kích thước lưu trữ, trong byte, là hai lần số lượng ký tự được nhập + 2 byte.
Ntext
- Đó là bằng nvarchar (max) kiểu dữ liệu này sẽ được gỡ bỏ trong một phiên bản tương lai của Microsoft SQL Server.
- Tránh sử dụng các loại dữ liệu trong phát triển mới sử dụng nvarchar (tối đa) .
7. Binary Values
Giá trị nhị phân giữ hình ảnh các giá trị nhị phân như thế, clip âm thanh và video clip.
Kiểu nhị phân giá trị là:
Binary
- nhị phân [(n)]
- Độ dài cố định dữ liệu nhị phân với chiều dài n byte, trong đó n là giá trị từ 1 đến 8000.
- Kích thước lưu trữ là n byte.
Varbinary
- varbinary [(n | max)]
- Độ dài thay đổi dữ liệu nhị phân.
- n có thể có giá trị từ 1 đến 8000.
- Kích thước lưu trữ tối đa là 2 ^ 31-1 bytes.
- Kích thước lưu trữ thực tế của dữ liệu nhập vào + 2 byte.
Image
- Đó là bằng varbinary (max) kiểu dữ liệu này sẽ được gỡ bỏ trong một phiên bản tương lai của Microsoft SQL Server.
- Tránh sử dụng các loại dữ liệu trong phát triển sử dụng thay vì. varbinary (max)
8. Timestamp
- Timestamp là một kiểu dữ liệu cho thấy nhiều tự động tạo ra, số nhị phân duy nhất trong cơ sở dữ liệu.
- Kích thước lưu trữ là 8 byte.
- Bạn có thể sử dụng Timestamp của một hàng dễ dàng xác định bất kỳ giá trị trong hàng đã thay đổi kể từ lần cuối cùng nó được đọc.
- Nếu bất kỳ một thay đổi nào được thực hiện để hàng, giá trị Timestamp được cập nhật.
- Nếu không thay đổi được thực hiện đếnhàng, giá trị Timestamp giống như khi nó được đọc trước.
9. Uniqueidentifier
- Uniqueidentifier là một GUID 16-byte được khởi tạo bằng cách sử dụng phương thức newid() hoặc chuyển đổi một chuỗi liên tục ở dạng xxxxxxxx-xxxx-xxxx-xxx-xxxxxxxxxxxx được sử dụng để đảm bảo rằng các hàng được xác định duy nhất qua nhiều bản sao của bảng.
10. XML
- XML là kiểu dữ liệu lưu trữ dữ liệu XML.
- Bạn có thể lưu trữ các trường XML trong một cột, hoặc một biến có kiểu XML.
- Các đại diện được lưu trữ trường hợp kiểu dữ liệu XML không thể vượt quá 2 gigabyte (GB).
Ghi chú
- Sử dụng char, nchar hoặc binary khi các kích thước của các mục dữ liệu cột phù hợp.
- Sử dụng varchar, nvarchar hoặc varbinary khi các kích thước của các mục dữ liệu cột khác nhau đáng kể.
- Sử dụng varchar (max), nvarchar (max) hoặc varbinary (max) khi các kích thước của các mục dữ liệu cột khác nhau đáng kể, và kích thước có thể vượt quá 8.000 byte.