連載
» 2008年07月14日 00時00分 公開

一気に分かるSQL Server 2008 新機能(3):SQL Server 2008で変わる開発スタイル (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で追加される主要なデータ型
       1|2|3 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。