連載
SQL Server 2008で変わる開発スタイル:一気に分かるSQL Server 2008 新機能(3)(1/3 ページ)
前回はSQL Server 2008の管理者向け新機能のうち5つの機能に注目し、ご紹介しました。今回は、開発者向け新機能とBIコンポーネントの新機能について紹介します。第1回でご紹介したSQL Server 2008のさまざまな追加機能を詳しく見ていきます。
新たに追加されたデータ型とメリット
SQL Server 2008では従来のデータ型に加え、多くのデータ型が追加されています。
ここでは新たに追加されたデータ型のうち主なものについて説明します。
日時・時間関連のデータ型の改善と精度向上
SQL Server 2008で追加された日時・時間関連のデータ型(表2)の特徴は、SQL Server 2005のデータ型(表1)と比較すると分かりやすいでしょう。日付や時間だけのデータが必要な場合にはdate型やtime型を使うことにより、データボリューム削減とデータを取り出す手間が省ける利点があります。
また、time型、datetime2型は精度が向上(ナノ秒まで保持)しているため、詳細なタイムスタンプを採取するなど使用用途が広がります。
データ型名 | 概要 | 使用バイト数 | |
---|---|---|---|
日付 | Datetime | 日付:1753-1-1〜9999-12-31 時間:00:00:00〜23:59:59.997 |
8bytes |
Smalldatetime | 日付:1900-1-1〜2079-6-6 時間:00:00:00〜23:59:59 |
4bytes | |
表1 SQL Server 2005の日付データ型 |
データ型名 | 概要 | 使用バイト数 | |
---|---|---|---|
日付 | date | 「日」単位でデータを格納できるデータ型 日付:1-1-1〜9999-12-31 |
3bytes |
time | 「時間」のみを格納できるデータ型 時間:00:00:00〜23:59:59.9999999 |
time(7)で5bytes | |
datetime2 | time型と同じ単位で時間を格納でき、datetime型のように日付も格納できる 日付:1-1-1〜9999-12-31 時間:00:00:00〜23:59:59.9999999 |
datetime2(7)で8bytes | |
datetimeoffset | datetime2データ型の格納範囲に加えて、タイムゾーンのオフセット(グリニッジ標準時からの時間差)を格納できる 範囲:1-1-1〜9999-12-31 +/-14:00 |
datetimeoffset(7)は10bytes | |
表2 SQL Server 2008で追加される日付データ型 |
そのほかの新しいデータ型
そのほかにも新しく追加されたデータ型があります(表3)。
Hierarchyid型は親子関係を持ったテーブルに対して適用することで、従来は再帰クエリを繰り返し実行して階層パスを取得していたものを、関数を使用して取得できるようになります。
FILESTREAM型は、ファイルシステム上にレコードごとのファイルが作成されるため、アプリケーションからはSQLではなく通常のファイル用APIでアクセスできます。また、トランザクションの配下でデータ操作ができるため、ほかのデータとの一貫性を保った処理が可能です。
データ型名 | 概要 | 使用バイト数/補足 | |
---|---|---|---|
階層型 | Hierarchyid | 階層構造を持ったデータに対して階層関係を示すパスを取得したり、操作したりできる | ノード数により可変 |
ドキュメント | FILESTREAM | ファイルをそのまま格納することができ、SQLによるアクセスだけでなく、通常のファイルと同じ操作ができる | time(7)で5bytes |
空間データ | Geometry | 位置情報を座標で定義し、2点間の距離や多角形の面積を計算することができる | datetime2(7)で8bytes |
Geography | 位置情報を座標で定義し、2点間の距離や多角形の面積を計算することができる | Microsoft社の地図検索サービス”Virtual Earth”と連動可能 | |
表3 そのほかにSQL Server 2008で追加される主要なデータ型 |
Copyright © ITmedia, Inc. All Rights Reserved.