データベース SQLServer
Categories: MCA Database
1.SQL Serverのアーキテクチャ
SQLServerはDBMS(Database management System)の代表例であり、リレーショナルデータベースに対応することからRDBMS(Relational Database Management System)と呼ばれています。RDBMSの他の例としてはOracleがあります。
SQLServerの機能としては点があります。
(1)SQL Serverの機能
①トランザクション処理
②データを分析する
③データベースアプリケーションの作成を支援
④データベースアプリケーションの実行
2.SQL Serverの歴史
①SQLServer1.0(1989年発表)
UNIX向けDBMSだったサイベース社のSybaseをもとにOS/Sに移植されたのが始まりです。
②SQLserver4.2(1994年発表)
Windows NTに対応されました。
③SQLServer6.0(1995年)―SQLServer6.5(1996年発表)
WindowsNT用のDBMSで4.2を拡張したものです
④SQLServer7.0(1999年)
マイクロソフト独自の特性を持つようになり、アーキテクチャ、管理を自動化する機能も多く取り入られるようになりました。このバージョンではWindowsNT、Windows2000両方に対応しています。
⑤SQL Server2000(2000年発表)
インターネット対応機能が充実、小規模から大規模なシステムにまで対応できるスケーラビリティ、信頼性の向上が追加されました。
3.SQLServerの4つのサービス
SQLServerにはインストール時にデフォルトで4つのサービスがインストールされます。MS SQLServer、SQLServerAgent、MSDTC(Microsoft Distributed Transaction Coordinator)、Microsoft Searchの4つがあります。
①MSSQLServerサービス
データベースエンジンであり、データ追加、削除、変更といった処理を実際に行うプログラムです。その他データベースのデータを管理する機能もあります。
②SQLServerAgentサービス
データベースバックアップなどの管理作業を定期的、自動的に行うサービスです。管理作業を行うスケジュールはユーザーが指定できます。
③MSDTC
分散トランザクション処理を管理するサービスであり、分散トランザクション処理時にサーバー間のデータ矛盾が起きることを防止できます。
④Microsoft Search
全文検索エンジンであり、全文検索に必要なインデックスを作成し、保守する機能を持ちます。
4.インスタンスについて
SQLServerで動作するSQLServerシステムのことをインスタンスと呼び、SQLServer2000では一つのコンピュータ上で複数のインスタンス(マルチインスタンス)を動作させることが可能です。インスタンスは規定のインスタンスと名前付きインスタンスの2種類があり、規定のインスタンスは各コンピュータに1つだけ存在し、名前付きインスタンスは各コンピュータに最大16個まで作成できます。
各インスタンスはMSSQLServerサービスとSQLSearverAgentサービスを単独で保持し、MicrosoftSearchはほかのインスタンスとの共有しています。
5.ネットワークライブラリとは
クライアントアプリケーションはSQLServerが動作するコンピュータと異なるコンピュータ(クライアント)で動作します。その通信を行う場合においてクライアントとサーバー間のネットワークプロトコルにはいくつもの種類があります。
SQLServerにはネットワークライブラリ(Net-Library)というソフトウェアが用意されており、クライアントとサーバーの両方にインストールしておくことでネットワークライブラリがプロトコル間の違いを吸収する為、通信プロトコルが変わってもアプリケーションを書きなおす必要がなくなります。
ネットワークライブラリが対応できるプロトコルには(TCP/IP,NWLINK,IPX/SPX/Appletalk)があります。
6.データベースの種類
SQLServerのデータベースにはインストール時にシステムデータベースとユーザーデータベースの2種類がインストールされています。
(1)システムデータベース
システムデータベースとはシステムやデータベースの操作と管理に使用するデータベースです。デフォルトで次のデータベースがインストールされます。
①MASTER
SQLServerの動作全体の制御に利用されるデータベースであり、ユーザーに関する情報、メモリ割り当て情報、システムエラーメッセージが保持される情報です。
②Model
ユーザーデータベースのテンプレートです。
③msdb
SQLServerAgentサービスが主に使用するデータベース、ジョブのスケジュール、履歴に関する情報です
④tempdb
一時テーブルを格納するためのデータベースとして一時作業領域として使用されています。
(2)ユーザーデータベース
ユーザデータベースとはユーザーが作成し、ユーザーが使用するデータベースです。
①pubs
ユーザーのデータベースサンプル
②Northwind
ユーザーデータベースのサンプル
7.データベースオブジェクト
データベースは何種類かのオブジェクトで構成され、主にテーブル、制約、インデックス、ビュー、ストアドプロシージャ、トリガの6種類があります。
①テーブル
②制約
テーブルの各列に格納する値に関する規則(主キー制約、参照制約)を定義するためのオブジェクトです。
③インデックス
データ検索を効率化するための作成され使用されます。
④ビュー
使用頻度の高い検索内容を保持するオブジェクトであり、仮想的なテーブルを保持しているとも考えられています。
⑤ストアドプロシージャ
SQL言語で書かれたSQLステートメントの集合であり、同じパターンのSQLステートメントを保存しておくことにより効率、ネットワークへの負荷を大きくなるのを防ぐことができます。
⑥トリガ
ストアドプロシージャの一種であるがユーザーがテーブルのデータを変更すると自動的に起動される機能を持つ。ユーザーが任意のタイミングで起動することはできません。
8.システムテーブルとユーザーテーブル
テーブルにはシステムテーブルとユーザーテーブルの2種類があります。
①システムテーブル
システムテーブルはSQLServerがシステムやデータベースを管理するのに使用する情報が格納されるテーブルです。システムテーブルに保存されるデータの属性、意味、格納場所などデータを定義する情報をメタデータと呼ばれています。
②ユーザーテーブル
ユーザーテーブルはユーザーがデータを格納するために作成する普通のテーブルです。
9.データディクショナリ
データディクショナリはシステムテーブルのメタデータを登録、管理している。SQLServerにはメタデータ取得に使用されるストアドプロシージャがあらかじめ用意されています。
(1)主なシステムストアドプロシージャ
①sp_configure
サーバーのオプション設定情報を取得するためのプロシージャ
②sp_helpdb
サーバ上に存在するすべてのデータベースに関して、名前、サイズ、所有者ID、作成日付、オプションといった情報を取得できる。
③sp_dbopinion
データベースのオプション設定情報を取得するプロシージャ
④識別子
データベースオブジェクトにつけられる名前。テーブルの識別子は次のようになる。<サーバー名.データベース名.所有者名.テーブル名>
10.導入
(1)SQL Serverのエディッション
①Standard Edition
小規模なワークグループ、企業部門で使用するのに適したエディッションであるが、データウェアハウス、Webサイトなどをサポートする機能は用意されていません。
②Enterprise Edition
大規模データベース、データウェアハウス、Webサイト、OLTPサポートに対応できる機能を備えたエディッションです。
③Personal Edition
リモード環境、スタンドアロンでデータベースを使用したいユーザー向けエディッションです。
④Developer Edition
機能的にはEnterprise Editionと同じであるが、開発、試験に限って使用が可能なエディッションです。
⑤Windows CE Edition
Windows CE上で動作するエディッションです。
(2)OLTP(ONLine Transaction Processing)
企業の基幹系データベースで行われる処理のことでオンライントランザクション処理とも呼ばれています。具体的にはネットワークに接続された複数の端末からホストコンピュータに何らかの処理要求を行い、ホストコンピュータはその要求の内容にもとづいてデータを処理し、その結果を端末におくる形態の処理です。
(3)インストールパス
SQL Serverのプログラムファイルとデータファイルの規定のインストールパスは次の通りです。プログラムファイルはインストール時から大きくなることはないが、データファイルはサイズが大きくなっていく為、データファイルをおくディスクの容量は余裕を持たせる必要があります。
[プログラムファイル(規定)]
C:\Program Files\Microsoft SQL Server\Mssql\Binn
[データファイル(規定)]
C:\Program Files\Microsoft SQL Server\Mssql\Data
11.SQL Searverの管理ツール
SQL Serverには管理作業の負担を軽減するための管理ツールが用意されています。主な管理ツールとしてはクエリアナライザ、SQL Server Enterprise Managerがあります。
(1)クエリアナライザ
SQLステートメントの作成、実行を支援するツールであり、これによりGUI環境によってSQLステートメントが簡単に作成、実行できます。
(2)SQL Server Enterprise Manager
ローカル、リモートのSQLServerを管理するためのツールです。GUI環境によりSQL言語を使用しなくても管理作業(‘オブジェクト新規作成、オブジェクトのプロパティ確認)が行えます。SQL ServerがインストールされているコンピュータにEnterprise ManagerをインストールするとローカルのSQL ServerはEnterprise Managerに自動的に登録されます。
12.まとめ
①DBMSとは?
データベース管理システムのこと。
②RDBMSとは?
リレーショナルデータベース管理システムのこと。
③SQL Serverの主な機能としてのサービスとは?
SQL Serverの主な機能はサービスと呼ばれるプログラムによって提供される。サービスはSQL Servreが起動されると同時に起動し、バックグラウンドで動作しデータベースアプリケーションからの要求の受付、要求の応答を行う。
④データベースエンジンとは?
データベースエンジンとはデータベースのデータの追加、削除、変更といった処理を実際に行うプログラムである。SQL ServerではMSSQLServerサービスがこの機能を持つ。
⑤インスタンスとは?
実際にコンピュータで動作するSQL Serverシステムのことをインスタンスと呼ぶ。
⑥ネットワークライブラリとは?
SQL Serverでサーバーとクライアント間の通信プロトコルの違いを修正するプログラムである。
⑦システムデータベースとは?
SQL Serverがシステムやデータベースの操作と管理をしようするデータベースです。
⑧ユーザーデータベースとは?
ユーザーが作成し、ユーザーが使用するデータベースである。
⑪データベースオブジェクトとは?
テーブル、制約、インデックス、ビュー、ストアドプロシージャ、などデータベースを構成するオブジェクトである。
⑫ストアドプロシージャ
SQL言語で書かれた命令の集合であり、命令パターンをストアドプロシージャとして保存しておくことで同じ命令パターンを繰り返し記述するのを防ぐ。
⑬トリガ
ストアドプロシージャの一種だがユーザーがテーブルのデータを変更すると自動的に起動される特殊な機能を持つ。ユーザーの任意のタイミングで起動することはない。
⑭メタデータ
システムテーブルに保存されるデータ属性、意味、格納場所などデータを定義する情報をメタデータという。
⑮識別子
データベースのオブジェクトにつけられる名前である。
⑯インストールパス
プログラムインストールの場合にインストール先となるフォルダのこと。
⑰クエリアナライザ
SQLステートメントの作成、実行を支援するツールである。
⑱SQL Server Enterprise Manager
ローカル、リモートのSQLServerを管理するツールであり、GUI環境によりSQL言語を使用しなくても管理作業が行える。