このサイトでは、これからSQL Serverを使ってみたいと思っている方や、興味はあるけど難しそうだなと思っている方を対象に、データベースとはどういうものかという基本的な考え方から、実際にSQL Serverを使いこなせるようになることを目標に、できる限り詳しく説明をしていきたいと思います。まずはデータベースの概要とSQL Serverの概要を説明します。
目次
データベースとは
「データベース」とは、大辞林を見ると「コンピュータで、相互に関連するデータを整理・統合し、検索しやすくしたファイル。また、このようなファイルの共用を可能にするシステム。」とあります。
非常に難しく聞こえますが、データが整理されていて、検索しやすいように管理されているもの、と捉えて大丈夫です。例えば、携帯電話の電話帳や、営業職の方だと大量の名刺をバインダーに綴じていたりしますよね、ああいうのもデータベースと言えます。
また、Excelで作成した従業員名簿だったり、顧客リストなんかもデータベースに当てはまります。思ったよりも身近なところであらゆるデータベースが使用されています。
ただし、このサイトで取り扱う「データベース」と呼ぶものには、上のExcelやテキストファイルや紙媒体の従業員名簿などは含みません。Excelのようなファイルと、データベースでは何が違うのかと言うと、データベースの定義は「データを整理・統合し、検索しやすい仕組み」であると上の方で書きました。ですので、ファイルに単純に記録する(データを格納する)だけではデータベースとは言わない、ということになります。
また、そのような「データを整理・統合し、検索しやすい仕組み」を提供してくれるいわゆる「データを管理するシステム」(DMBS : Database Management System と言います)を搭載したものを、今後このサイトでは「データベース」と呼ぶことにします。
DBMSがあると何がいいのか
DBMSがどんな働きをしてくれるのかを簡単に纏めました。
機能 | 説明 |
---|---|
データベース管理 | データの検索等の操作を高速かつ性格に行うことができる。 格納したデータの重複を排除する等、整合性の取れたデータを保証する。 |
トランザクション管理 | 一連の処理を一纏めにして扱えるようにする。途中で失敗した場合はすべてキャンセルし、処理を実行する前の状態に戻せるようにする。 |
排他制御 | 同時に複数の利用者がデータベースを利用しても、不整合が起きないようにする。 |
障害回復管理 | データの変更等の操作ログを記録しておき、障害発生時等に障害発生前の状態に戻せるようにする。 |
セキュリティ | データベースにアクセスできるユーザの指定や権限の制御等を行える。 |
今の時点では良く分からないと思いますが、通常のテキストファイルやExcelと比べて、色々なことをやってくれているのが分かります。要するに、意図せずデータが消失しないように保護してくれていると思っていれば大丈夫です。
データベースソフトの種類
データベースソフト(製品)の種類は沢山ありますが、本屋に参考書が普通に置いているレベルの有名なところを挙げてみます。
製品名 | 開発元 |
---|---|
Microsoft SQL Server | マイクロソフト |
Oracle Database | オラクル |
MySQL | オラクル |
PostgreSQL | PostgreSQL Global Development Group |
SQLite | D. Richard Hipp |
オープン系システムで使用される商用のデータベースソフトとしては、一つ目のSQL Serverか二つ目のOracleが多いです。三つ目以降はオープンソースなので原則無料で使用できます。
(SQL Serverにも無償版は存在します)
このサイトでは、SQL Serverを使用して解説を進めていきます。SQL Server の特徴は、GUIのツール類が充実していてとにかく簡単で使いやすいことです。他のデータベースソフトとは比べものにならないほど扱いやすいです。
SQL Serverの種類
SQL Serverには色々なバージョンがあり、各バージョンでも色々なエディションがあります。それぞれのバージョンとエディションの一覧を記載します。※2000年以前は省略
バージョン | リリース年 | 名称 |
---|---|---|
8.0 | 2000 | SQL Server 2000 |
9.0 | 2005 | SQL Server 2005 |
10.0 | 2008 | SQL Server 2008 |
10.5 | 2010 | SQL Server 2008R2 |
11.0 | 2012 | SQL Server 2012 |
このサイトでは、SQL Server 2008 Developer Edition を対象に解説を進めていきますが、SQL Server 2008の全エディションは次のとおりです。
- Enterprise
- Standard
- Web
- Workgroup
- Express
- Developer
Enterprise
Enterpriseは、SQL Server 2008の全ての機能を備えた大規模システム用のエディションです。機能制限は一切受けず、CPUとメモリはインストールしたOSがサポートする最大容量まで搭載することができます。
tandard
Standardは、Enterpriseに比べて、大規模システム向けの機能がいくるか制限された小・中規模向けのエディションです。その分値段は格段に安いです。搭載可能なメモリは、Enterpriseと同様にOSがサポートする最大容量までですが、CPUは4個までという制限を受けます。よほど大規模なシステムでない限り、通常はStandardエディションを選択すれば良いでしょう。
Web
Webは、SQL Server 2008から新しく登場したエディションで、基本的にはStandardと同じ機能制限を受けます(CPU4個など)。また、「Web」という名前もあることから、インターネットに公開するWebサイトでの利用に限定されたり、Integration Service(データ転送・変換ツール)やAnalisys Service(データ分析機能)がサポートされません。が、その分Standardより値段は安いです。
Workgroup
Workgroupは、StandardやWebよりもさらに機能制限を受けた小規模システム向けです。主な機能制限あは、CPUは2個まで、メモリは64bitOSで4GBまで、32bitOSで3GBまでです。それ以外でもデータベースミラーリングやクラスタリング機能がサポートされないなど、多くの制限を受けます。
Express
Expressは、無償で利用できるエディションです。評価版ではなく、無償版(タダで使用できます)です。当然ながら、機能制限は一番きつく、CPUは1個、メモリは1GBまで、作成可能なデータベースのサイズは4GBまで、ジョブ管理のSQL Agentサービスが使用できません。学習目的や、本当に小規模なシステムであれば十分使用可能です。
Developer
Developerは、その名のとおり開発者向けのエディションです。本番運用には使用できませんが、Enterpriseエディションと同じ機能を備えています。また、非常に値段が安い(5000円程度)こともあり、学習目的ならExpressよりもこちらの方が向いています。
次回からは、SQL Server 2008のインストールを行っていきたいと思います。
コメントのテストです。