SQL Server requires that each variable and column in a table should be defined with respect to the type of data it will store.
From a bit to a huge image and binary storage types, the allocation is supposed to help the user conform to the data required, and help the engine allocate space and processing speed efficiently.
Built-in data types
SQL Server 2000 recognizes the following built in data types:
Data Types
Description
bigint
Integer data from -2^63 through 2^63-1
int
Integer data from -2^31 through 2^31 – 1
smallint
Integer data from -2^15 through 2^15 – 1
tinyint
Integer data from 0 through 255
bit
Integer data with either a 1 or 0 value
decimal
Fixed precision and scale numeric data from -10^38 +1 through 10^38 -1
numeric
Fixed precision and scale numeric data from -10^38 +1 through 10^38 -1
money
Monetary data values from -2^63 through 2^63 – 1
smallmoney
Monetary data values from -214,748.3648 through +214,748.3647
float
Floating precision number data from -1.79E + 308 through 1.79E + 308
real
Floating precision number data from -3.40E + 38 through 3.40E + 38
datetime
Date and time data from January 1, 1753, through December 31, 9999, with an accuracy of 3.33 milliseconds
smalldatetime
Date and time data from January 1, 1900, through June 6, 2079, with an accuracy of one minute
char
Fixed-length character data with a maximum length of 8,000 characters
varchar
Variable-length data with a maximum of 8,000 characters
text
Variable-length data with a maximum length of 2^31 – 1 characters
nchar
Fixed-length Unicode data with a maximum length of 4,000 characters
nvarchar
Variable-length Unicode data with a maximum length of 4,000 characters
ntext
Variable-length Unicode data with a maximum length of 2^30 – 1 characters
binary
Fixed-length binary data with a maximum length of 8,000 bytes
varbinary
Variable-length binary data with a maximum length of 8,000 bytes
image
Variable-length binary data with a maximum length of 2^31 – 1 bytes
cursor
A reference to a cursor
sql_variant
A data type that stores values of various data types, except text, ntext, timestamp, and sql_variant
table
A special data type used to store a result set for later processing
timestamp
A database-wide unique number that gets updated every time a row gets updated
uniqueidentifier
A globally unique identifier
Bigint, sql_variant, and table are new to SQL Server 2000
User-defined data types
You can make user-defined data types too, which sometimes can be more descriptive of the value types held in the object. This may make it easier for the programmer to document and work with the data. These data types are based on the built in types, and can be outfitted with preprogrammed defaults, checks, constraints, etc. . To create a user-defined data type, use
sp_addtype datatypename, basedatatype, NULL’/’NOT NULL’
How to choose the appropriate data type
SQL Server stores data in data pages that are 8Kb (8192 bytes) in size. The system uses some of that s Sometimes, the system uses only 8060 bytes are availableto that are available to store user’s data. Consider the size of a row of data in your tables. If the rows are large, make sure that multiples of the fit conveniently on a data page so that page space is not wasted. This is cut down on disk paging overhead when accessing the data. You want to maximize the number of rows of data which that will fit on a page. This can be accomplished both by splitting the tables, and by choosing the smallest data type which that will accommodate your data. .
In you are using integer data, data; consider that the tinyint datatype will accommodate data which that will fit into one byte of storage. So if the range of all of the data in your field (or variable) is between 0 and 255, use the tinyint datatype. If the range is between -32,768 and 32,767, use the smallint data type. And if If you need to store integer data from -2,147,483,648 through 2,147,483,647, use int data type.
Similarly with smallmoney. If smallmoney. if your value range is between -214748.3648 and 214,748.3647, use the smallmoney datatype.
Use smalldatetime data type instead of datetime data type, if you need to store the date and time data from January 1, 1900 through June 6, 2079, with accuracy to the minute.
Prefer varchar.nvarchar to text/ntext whenever possible because the text and image fields are stored separately, which produces additional paging. And prefer char/varchar to nchar/nvarchar data types because the n types require twice as much storage space. The n types are used primarily for unicode data.
Resources
Tutorial: SQL 7 & Database Files
This is a useful tutorial on SQL & and database Files.
Information: Complete information on SQL
This resource provides complete information on SQL.
Tag:
Add to Del.icio.us | Digg | Reddit | Furl
Metro NY / NJ SQL Server Consultants
We specialize is custom database software. Call us for a free consultation (973) 635 0080 or email us at paladn.com
Chris Kemp is a well known author in the field of Information Technology. His articles are very popular and well known in the various article banks across internet. His popular articles are about SQL Server, Database Design, IT Consulting and Software Development.
chriskemp@webpopularity.org