いろいろなデータベース

EnterpriseZine / 2012年6月19日 0時0分

前回ご紹介したリレーショナル・データベース以外にも、データベースには、いろいろな種類があります。また、同じリレーショナル・データベースであっても、一部の機能については、実際に利用する製品によって異なる場合があります。今回は、代表的なリレーショナル・データベース製品であるOracleとSQL Serverの2つを例にとって、その違いを説明します。次に、リレーショナル・データベース以外のデータベースの例として、カラム型データベース、多次元データベース、NoSQLデータベースの3つをご紹介します。

■OracleとSQL Serverの違い

 OracleとSQL Serverは、いずれも代表的なリレーショナル・データベース製品ですが、連載第3回で登場した基本的なSQL文の中でさえ、文法が異なるものが2つあります。

 1つ目は文字列を結合するSQL文です。連載第3回では、文字列の結合には、「||」を使用しましたが、これはOracleでの文法です。

 SQL Serverでは、「||」のかわりに「+」を使用しますので、SQLは以下のようになります。

 2つ目は、年齢をもとめるSQL文です。連載第3回では、「GETDATE」と「DATEDIFF」を使用しましたが、これはSQL Serverでの文法です。

 Oracleでは、現在の日時を得る関数は「SYSDATE」になります。また、Oracleには、「DATEDIFF」に相当する関数がありませんので、より複雑な手順が必要になります。

 ① 現在の日時と生年月日を、それぞれ「TO_CHAR」関数で8桁の文字列に変換する  ② 文字型になった現在の年月日と生年月日を引き算して、結果を10000で割る(桁を4桁ずらす)  ③ もとめられた結果の小数点以下を「TRUNC」関数で切り捨てる

 Oracleで年齢をもとめるSQL文は以下のようになります。

 このように、ごく基本的なSQL文でも実際に利用する製品によって異なる場合がありますので、注意が必要です。


平井 明夫[著]

■関連記事

スポーツの世界にみる、ビッグデータ活用のトレンド[2012年07月09日]

SQL Server、DB2、Oracle…進化するデータベースの高可用性、災害対策機能[2012年07月05日]

この夏はインメモリがアツい!? 絶好調のSAP HANA、世界最速を謳うMemSQL[2012年07月03日]

インメモリでスマートに行こう![2012年06月26日]

Hadoopがデスクトップに!? データ分析をシングルプラットフォームにも届けるDatameerとは[2012年06月20日]



■記事全文へ

EnterpriseZine

この記事に関連するニュース

トピックスRSS

ランキング