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