SQL Server と他 DB の違い を押さえよう! 2017/05/20 第5回 関西DB勉強会 SQLWorld おだ
SQL Server と他 DB の違いを押さえよう!
2017/05/20 第5回 関西DB勉強会
SQLWorld お だ
自己紹介
織田 信亮(おだ しんすけ)
大阪で開発者しています
SQLWorld の代表です
http://odashinsuke.hatenablog.com/
Twitter:@shinsukeoda
今日お話しすること
SQL Server って?
DBエンジンの用語と構造
SQL Server って?
SQL Server って?
データベースエンジンがよく語られますが、色んな機能をもってます
SSIS
SSAS
SSRS
…
SQL Server 2008R2 よりhttps://msdn.microsoft.com/ja-jp/library/ms187875(v=sql.105).aspx
DB エンジンに限ってみると…
オンプレミス
SQL Server
SQL Server PDW
クラウド (Azure)
Azure SQL Database (SQL DB)
Azure SQL Data Warehouse(SQL DW)
DBエンジンの用語と構造
インスタンス, サービス, サーバー
全部同じもの
サーバーは文脈によってハードウェアのことも…
実行プロセス
データベース
サーバーの下に複数のデータベース
ユーザーデータベース
ファイル
データベース毎に
データファイル
プライマリ(.mdf) / セカンダリ (.ndf)
ログファイル (.ldf)
ファイルグループ
データファイルを束ねる単位
オブジェクトの配置の単位
ログイン
サーバー単位
SQL Server にログインするために必要
ユーザー
データベース単位
スキーマ
データベース単位
オブジェクトの配置場所/権限を設定するためのグルーピング
テーブル
インデックス
ビュー
一般的なビュー
インデックス付きビュー
ビューにクラスター化インデックスを作成
実データを持つ(インデックス)ので、検索のパフォーマンスが良くなる
追加で非クラスター化インデックスも可能
更新があるとインデックスも更新される
マテリアライズド ビューのような物
その他
ストアドプロシージャ
ファンクション
シーケンス
シノニム
トリガー
構造について詳しくは…
SQL Server Management Studio(SSMS) でデータベースに接続してみよう!
資料の画像は、SSMS からキャプチャ
照合順序
文字データの比較/並べ替えの規則
英語圏では、’Ch~’ と ‘Co~’ は ‘Ch~’ の方が先。スペイン語圏では、’Ch~’ は C の末尾に来るらしい
日本語の指定だと…
JAPANESE_XJIS_100_CS_AS_KS_WS_SC とか
照合順序
大文字/小文字の区別 (CS / CI)
“a” と “A” が同じ
アクセントの区別 (AS / AI)
"a" と "ǎ" が同じ
“は” と “ば” と “ぱ“ 、 ”つ” と "っ“
かなを区別 (KS / 省略)
“あ” と “ア” が同じ
照合順序
幅の区別 (WS / 省略)
“ア” と “ア” が同じ
サロゲートペアの文字数 (SC / 省略)
“叱”:1文字 “𠮟”:2文字 両方1文字に
バイナリ照合順序 (BIN / BIN2)
コードポイントによる比較/並び替え
トランザクション分離レベル
READ UNCOMMITED
READ COMMITED
REPEATABLE READ
SNAPSHOT
SERIALIZABLE
ロック
共有ロック (S)
更新ロック (U)
排他ロック (X)
共有ロック中 更新ロック中 排他ロック中
(要求) S ○ ○ ×
(要求) U ○ × ×
(要求) X × × ×
まとめ
RDBMS で用語の細かな違いはある
どの RDBMS も似たり寄ったりの機能 / 構文 があると思うので、キーワード憶えておけば探せると思います。
同じ名前でも、動作が若干違うものもあるので気を付ける