Tuesday, 10 January 2012

The NEW Data Types MS SQL 2008



The data type of SQL server is a very important thing to building the table objects. So we must have clear point of view before using different data types.


In my professional life I have seen may DBA uses the wrong type of data type in table objects and results,  performance slow down, Time out …expire etc, as they don't have enough idea of data type related to SQL server.


In these articles, I try to define some new data types that came with SQL 2008 and not used in previous version of MS SQL server.



It's much easier with SQL 2008; MS provide us better control related to Date and time data types. In SQL 2008 introduced:   DATE, TIME, DATETIME2, and DATETIMEOFFSET.





The DATE data type stores only date in YYYY-MM-DD format.

 It stores range of 0001-01-01 through 9999-12-32. It takes 3 bytes to store.





It stores only time in the format   hh:mm:ss.nnnnnnn, and range between 00:00:00.0000000 through 23:59:59:9999999 and is accurate to 100 nanoseconds. It takes 3 to 5 bytes to store.




It is as similar to the SQL 2005 DATETIME but have greater range value. It runs from 6 to 8 bytes to store.





It is similar to DATETIME2, but includes additional information to track the time zone. The format is YYYY-MM-DD hh:mm:ss[.nnnnnnn] [+|-]hh:mm with a range of 0001-01-01 00:00:00.0000000 through 0001-01-01 00:00:00.0000000 through 9999-12-31 23:59:59.9999999 (in UTC), and an accuracy of 100 nanoseconds. Storage depends on the precision and scale selected, and runs from 8 to 10 bytes.



Two new spatial data types have been added- GEOMETRY and GEOGRAPHY-which you can use to natively store and manipulate location-based information, such as Global Positioning System (GPS) data.





The GEOMETRY data type is used to store planar (flat-earth) data. It is generally used to store XY coordinates that represent points, lines, and polygons in a two-dimensional space. For example storing XY coordinates in the GEOMETRY data type can be used to map the exterior of a building.





The GEOGRAPHY data type is used to store ellipsoidal (round-earth) data. It is used to store latitude and longitude coordinates that represent points, lines, and polygons on the earth's surface. For example, GPS data that represents the lay of the land is one example of data that can be stored in the GEOGRAPHY data type.





The HIERARCHYID data type is used to enable database applications to model hierarchical tree structures, such as the organization chart of a business.


The HIERARCHYID data type makes it easier to express these types of relationships without requiring multiple parent/child tables and complex joins.


·         Organizational structures

·         A set of tasks that make up a larger projects (like a GANTT chart)

·         File systems (folders and their sub-folders)

·         A classification of language terms

·         A bill of materials to assemble or build a product

·         A graphical representation of links between web pages





FILESTREAM is not a data type as such, but is a variation of the VARBINARY(MAX) data type that allows unstructured data to be stored in the file system instead of inside the SQL Server database.




1 comment: