Sql world を支える技術

O
Oda ShinsukeSoftware Developer
SQLWorld を支える技術 
SQLWorld★大阪#27 
2014/10/18 SQLWorld おだ
自己紹介 
織田信亮(おだしんすけ) 
大阪で開発者しています 
SQLWorld の代表です 
http://odashinsuke.hatenablog.com/ 
Twitter:@shinsukeoda
SQLWorld って? 
SQL Server を中心にDB の勉強会やってます 
正規化/モデリング, NoSQL とかもやってます 
最近SQL を書くハンズオンやりはじめました 
提示されたお題に対して、SQL を書いてみる
DB インストールしてないとダメなの? 
DB のインストール必要無しです 
ブラウザがあれば参加出来ます 
やろうと思えば、オンラインでも可 
http://tsqlrunner.azurewebsites.net/
裏で使ってるやつら 
Windows Azure Web Sites 
SQL Database (旧SQL Azure) 
ASP.NET MVC 4 
Knockout.js (JS MVVM FW) 
Signal R (Realtime Web for .NET) 
SQL Server ScriptDom (T-SQL Parser) 
Unity (DI の方ね) 
Dapper (Micro ORM) 
html-query-plan (execution plan to html)
裏で使ってるやつら 
Windows Azure Web Sites 
SQL Database (旧SQL Azure) 
ASP.NET MVC 4 
Knockout.js (JS MVVM FW) 
Signal R (Realtime Web for .NET) 
SQL Server ScriptDom (T-SQL Parser) 
Unity (DI の方ね) 
Dapper (Micro ORM) 
html-query-plan (execution plan to html)
Windows Azure Web Sites 
無料でも使える 
クレカ無し60分体験も可能 
サイトのホスト先 
SCM 経由でデプロイ 
GitHub/BitBucket/DropBox/TFS/サイト 
ローカル…
ASP.NET MVC 4 
一番新しいASP.NET MVC 
Web API も使ってます
Knockout.js 
Binding の用途で利用してます 
回答結果画面で利用 
使いやすいので便利 
他のライブラリに依存しない 
部分的に取り入れることが出来る
Signal R 
流行りの双方向通信を行えるライブラリ 
実行環境(Client 含む)によって、通信方法 
が切り替える 
今回は双方向っていうよりは、Server 
Push メインで使ってます
Unity 
P&P 製のDI コンテナ 
特に必要無かったけど、勉強がてらに 
コード/.config どちらでも設定可能 
コンテナなので、インスタンスのライフサイク 
ル管理も可能 
正直この規模なら要らない
Dapper 
Micro ORM 
クエリの結果とクラスのマッピングだけ 
個人的にはこれ位で調度良い 
EF (Entity Framework) とかちょっと… 
Java でもCommons DB Utils/Seasar 
Doma とか良く使ってる
SQL Database (旧SQL Azure) 
Azure のSQL Server 
Azure Web Sites にも20MB分付いてくる 
SQL Server フル機能は使えないけど、今回 
の用途では無問題! 
IaaS にSQL Server を載せるやつとは違う
何回か開催していると 
問題が…
テーブル名が被ることが出てくる 
スキーマ(Schema) を分けることで解消 
クエリにスキーマ指定させるのイケてない 
select * from [20140805].[テーブル] 
開催回毎にユーザーを作成し「既定のス 
キーマ」を指定する 
アプリ側は同じクエリを投げても、ユー 
ザーによって見るテーブルが変わる
Sql world を支える技術
テーブル定義の取得 
T-SQL で取得します 
カタログビュー 
sys.~ 
情報スキーマビュー 
INFORMATION_SCHEMA.~ 
内部的にはカタログビュー使ってます 
やりやすい方を使えば良いです。
余計なことを 
させたくない!
自由にクエリを書けることの弊害 
DROP TABLE されたらどうするん? 
DDL 系の操作 
データの追加/変更/削除 
権限(やロール)の設定で対応 
GRANT SELECT / DENY ~ 
ロールの場合はdb_datareader やカスタ 
ム作成したロール
余計なことを 
させたくない! 
その2
リソースを食い尽くす嫌なやつ 
フロー制御言語を使った嫌がらせ 
WHILE 無限ループ 
WAITFOR 長時間ブロック 
CTE(共通テーブル式) を使った無限再帰 
クエリ 
SELECT なので権限云々では防げない 
例:今から毎日分の日付を延々と返すクエリ 
with [CTE] ( [日付] ) as ( 
select getdate() union all select dateadd(d, 1, [日付]) from [CTE] 
) 
select * from [CTE] option (maxrecursion 0)
SQL Server 側では難しそう…
SQL Server ScriptDom 
.NET から使えるT-SQL のParser / 
Generator 
SQL Server Feature Pack からインス 
トール 
SQL Server 2008 位からあるようです 
2008 当時と2012/2014 では名前空間の 
構成が違うので注意
Parser/Generator 
各バージョン毎のParser/Generator 
80(2000)/90/100/110/120(2014) 
新しい構文は古いParser ではエラーになる 
Azure SQL Database 用はありません! 
Generator である程度は書式整形出来る
Parser を使って… 
複数バッチ/複文をNG 
SELECT でないとNG 
MAX RECURSION を指定してるとNG 
権限では防げないような物でも大体OK!
ScriptDom をどこで使うか 
ビルド時の.sql 検証 
構文エラー/規約違反 
クエリの書式統一 
クエリの動的生成 
使ってみたらわかるけど、結構面倒で非現 
実的…
おまけ 
SQL Database で対応しているか調べる 
Visitor を作ってましたが… 
ドキュメント(MSDN) と実環境とでちょい 
ちょい乖離が… 
進化のスピード早いし、ドキュメントが追 
い付かないのもしゃーない 
結局SQL Database で動かしてみないと判 
らん
SQL Database に投げて確認する 
オブジェクト(テーブルとか) が無くても 
とりあえずクエリ投げてOK 
サポートしてないよってエラーが返ってき 
たら未サポート 
オブジェクトが無いよって返ってきたらサ 
ポートされてる
Sql world を支える技術
どのクエリが良いのか比べたい! 
テーブルも多くて3個、データ数も2桁 
インデックスもクラスタ化(PK)のみ 
速度を比較しても… 
比較は難しい感 
あえて可読性くらい?
実行プラン出してみた 
実行プランはXML 
オプション指定すると、クエリで取れる 
SET SHOWPLAN_XML ON 
SET SHOWPLAN_XML ON 
GO 
select * from ~ 
GO 
SET SHOWPLAN_XML OFF
SqlCommand で投げる場合 
GO が使えない 
GO はT-SQL ではない 
SSMS/sqlcmd 等で認識されるコマンド 
Execute を分けて実行 
using (var conn = new SqlConnection(ConnStr)) 
using (var cmd = new SqlCommand(@"SET SHOWPLAN_XML ON", conn)) { 
conn.Open(); 
cmd.ExecuteNonQuery(); 
cmd.CommandText = "select * from [MemTable] where [Id] <= 100"; 
File.WriteAllText("Plan.sqlplan", cmd.ExecuteScalar() as string); 
}
Html-query-plan 
http://code.google.com/p/html-query-plan/ 
XML => XSLT 経由でHTML に変換 
JavaScript + CSS も使ってます 
サンプル通りの使い方でほぼOK 
C# 側はXslCompiledTransform でOK 
実行プランの線が表示されてないのは未調 
査。。
まとめ 
Azure Web Sites + 20MB SQLDB なら 
無料! 
色んなの使って動いてます 
他にも面白そうで使えそうなのあれば教 
えてください 
勉強会で使う問題も募集中!
1 of 34

Recommended

Sql serverデータアクセスの基本動作。荒ぶった方法で確認してみよう by
Sql serverデータアクセスの基本動作。荒ぶった方法で確認してみようSql serverデータアクセスの基本動作。荒ぶった方法で確認してみよう
Sql serverデータアクセスの基本動作。荒ぶった方法で確認してみようMasayuki Ozawa
2.3K views19 slides
20120222 by
2012022220120222
20120222晶 川俣
474 views25 slides
Sql server これだけはやっておこう 最終版 by
Sql server これだけはやっておこう 最終版Sql server これだけはやっておこう 最終版
Sql server これだけはやっておこう 最終版elanlilac
29.5K views20 slides
Sql database 基本構成と直近で追加されていた機能の紹介 by
Sql database 基本構成と直近で追加されていた機能の紹介Sql database 基本構成と直近で追加されていた機能の紹介
Sql database 基本構成と直近で追加されていた機能の紹介Masayuki Ozawa
1.3K views24 slides
[B31,32]SQL Server Internal と パフォーマンスチューニング by Yukio Kumazawa by
[B31,32]SQL Server Internal と パフォーマンスチューニング by Yukio Kumazawa[B31,32]SQL Server Internal と パフォーマンスチューニング by Yukio Kumazawa
[B31,32]SQL Server Internal と パフォーマンスチューニング by Yukio KumazawaInsight Technology, Inc.
8.8K views80 slides
SQL Server 2014 In Memory OLTP Overview by
SQL Server 2014 In Memory OLTP OverviewSQL Server 2014 In Memory OLTP Overview
SQL Server 2014 In Memory OLTP OverviewMasayuki Ozawa
2.5K views45 slides

More Related Content

What's hot

LibreOffice Base をSQLite のフロントエンドにしてみよう by
LibreOffice Base をSQLite のフロントエンドにしてみようLibreOffice Base をSQLite のフロントエンドにしてみよう
LibreOffice Base をSQLite のフロントエンドにしてみよう78tch
14K views24 slides
COD2012 C3 : SQL Server 2012で振り返る、SQLOSのスレッド スケジューリング by
COD2012 C3 : SQL Server 2012で振り返る、SQLOSのスレッド スケジューリングCOD2012 C3 : SQL Server 2012で振り返る、SQLOSのスレッド スケジューリング
COD2012 C3 : SQL Server 2012で振り返る、SQLOSのスレッド スケジューリングMasayuki Ozawa
2.2K views29 slides
SQL Server/SQL Database の新機能のお話し by
SQL Server/SQL Database の新機能のお話しSQL Server/SQL Database の新機能のお話し
SQL Server/SQL Database の新機能のお話しInsight Technology, Inc.
3.5K views59 slides
Glance image-cacheコマンドを使ってみた by
Glance image-cacheコマンドを使ってみたGlance image-cacheコマンドを使ってみた
Glance image-cacheコマンドを使ってみたharubelle
3.9K views15 slides
Aerospike基本のき by
Aerospike基本のきAerospike基本のき
Aerospike基本のきYuto Suzuki
1.2K views18 slides
WindowsでMySQL入門 by
WindowsでMySQL入門WindowsでMySQL入門
WindowsでMySQL入門Hidenori Ishii
12.7K views43 slides

What's hot(20)

LibreOffice Base をSQLite のフロントエンドにしてみよう by 78tch
LibreOffice Base をSQLite のフロントエンドにしてみようLibreOffice Base をSQLite のフロントエンドにしてみよう
LibreOffice Base をSQLite のフロントエンドにしてみよう
78tch14K views
COD2012 C3 : SQL Server 2012で振り返る、SQLOSのスレッド スケジューリング by Masayuki Ozawa
COD2012 C3 : SQL Server 2012で振り返る、SQLOSのスレッド スケジューリングCOD2012 C3 : SQL Server 2012で振り返る、SQLOSのスレッド スケジューリング
COD2012 C3 : SQL Server 2012で振り返る、SQLOSのスレッド スケジューリング
Masayuki Ozawa2.2K views
Glance image-cacheコマンドを使ってみた by harubelle
Glance image-cacheコマンドを使ってみたGlance image-cacheコマンドを使ってみた
Glance image-cacheコマンドを使ってみた
harubelle3.9K views
Aerospike基本のき by Yuto Suzuki
Aerospike基本のきAerospike基本のき
Aerospike基本のき
Yuto Suzuki1.2K views
プロキシーを使ってテストを楽にする by Shunji Konishi
プロキシーを使ってテストを楽にするプロキシーを使ってテストを楽にする
プロキシーを使ってテストを楽にする
Shunji Konishi1.8K views
苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 5 by Takuya Mukohira
苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 5苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 5
苫小牧高専 ソフトウェアテクノロジー部 enchant.jsでゲーム作り 5
Takuya Mukohira1K views
初心者向け SQLite の始め方 by suno88
初心者向け SQLite の始め方初心者向け SQLite の始め方
初心者向け SQLite の始め方
suno884.5K views
JS開発におけるTDDと自動テストツール利用の勘所 by Koji Nakamura
JS開発におけるTDDと自動テストツール利用の勘所JS開発におけるTDDと自動テストツール利用の勘所
JS開発におけるTDDと自動テストツール利用の勘所
Koji Nakamura18.8K views
HDPをWindowsで動かしてみた by adachij2002
HDPをWindowsで動かしてみたHDPをWindowsで動かしてみた
HDPをWindowsで動かしてみた
adachij20021.6K views
ココが違うよEC2 ~オンプレミスVMとの徹底⽐比較~ by Ryuta Otaki
ココが違うよEC2 ~オンプレミスVMとの徹底⽐比較~ココが違うよEC2 ~オンプレミスVMとの徹底⽐比較~
ココが違うよEC2 ~オンプレミスVMとの徹底⽐比較~
Ryuta Otaki5.3K views
activerecord-oracle_enhanced-adapterのご紹介 by Kevin Toyoda
activerecord-oracle_enhanced-adapterのご紹介activerecord-oracle_enhanced-adapterのご紹介
activerecord-oracle_enhanced-adapterのご紹介
Kevin Toyoda734 views
MySQL 初めてのチューニング by Craft works
MySQL 初めてのチューニングMySQL 初めてのチューニング
MySQL 初めてのチューニング
Craft works14.7K views
JAZUG女子部 第2回勉強会 ハンズオン by Kana SUZUKI
JAZUG女子部 第2回勉強会 ハンズオンJAZUG女子部 第2回勉強会 ハンズオン
JAZUG女子部 第2回勉強会 ハンズオン
Kana SUZUKI25.9K views
Windows azureって何 by Kana SUZUKI
Windows azureって何Windows azureって何
Windows azureって何
Kana SUZUKI1.4K views
MySQL Cluster 7.4で楽しむスケールアウト @DB Tech Showcase 2015/06 by Mikiya Okuno
MySQL Cluster 7.4で楽しむスケールアウト @DB Tech Showcase 2015/06MySQL Cluster 7.4で楽しむスケールアウト @DB Tech Showcase 2015/06
MySQL Cluster 7.4で楽しむスケールアウト @DB Tech Showcase 2015/06
Mikiya Okuno37.5K views
今さらだけどMySQLとライセンス by Hidenori Ishii
今さらだけどMySQLとライセンス今さらだけどMySQLとライセンス
今さらだけどMySQLとライセンス
Hidenori Ishii96.5K views
[LT] T sql の parse と generator by Oda Shinsuke
[LT] T sql の parse と generator[LT] T sql の parse と generator
[LT] T sql の parse と generator
Oda Shinsuke746 views

Similar to Sql world を支える技術

Sql database でも使えるほにゃらら by
Sql database でも使えるほにゃららSql database でも使えるほにゃらら
Sql database でも使えるほにゃららOda Shinsuke
4.7K views24 slides
Sql world を支える技術 by
Sql world を支える技術Sql world を支える技術
Sql world を支える技術Oda Shinsuke
1.3K views15 slides
Let s database_testing by
Let s database_testingLet s database_testing
Let s database_testingYuji Shimada
1.2K views79 slides
Sql server2014復習とsqlserver2016の紹介 by
Sql server2014復習とsqlserver2016の紹介Sql server2014復習とsqlserver2016の紹介
Sql server2014復習とsqlserver2016の紹介Oda Shinsuke
3.6K views59 slides
Sql serverと他dbの違いを押さえよう! by
Sql serverと他dbの違いを押さえよう!Sql serverと他dbの違いを押さえよう!
Sql serverと他dbの違いを押さえよう!Oda Shinsuke
2.5K views25 slides
Sql azure知ってますか?改訂版 by
Sql azure知ってますか?改訂版Sql azure知ってますか?改訂版
Sql azure知ってますか?改訂版Oda Shinsuke
795 views26 slides

Similar to Sql world を支える技術(20)

Sql database でも使えるほにゃらら by Oda Shinsuke
Sql database でも使えるほにゃららSql database でも使えるほにゃらら
Sql database でも使えるほにゃらら
Oda Shinsuke4.7K views
Sql world を支える技術 by Oda Shinsuke
Sql world を支える技術Sql world を支える技術
Sql world を支える技術
Oda Shinsuke1.3K views
Let s database_testing by Yuji Shimada
Let s database_testingLet s database_testing
Let s database_testing
Yuji Shimada1.2K views
Sql server2014復習とsqlserver2016の紹介 by Oda Shinsuke
Sql server2014復習とsqlserver2016の紹介Sql server2014復習とsqlserver2016の紹介
Sql server2014復習とsqlserver2016の紹介
Oda Shinsuke3.6K views
Sql serverと他dbの違いを押さえよう! by Oda Shinsuke
Sql serverと他dbの違いを押さえよう!Sql serverと他dbの違いを押さえよう!
Sql serverと他dbの違いを押さえよう!
Oda Shinsuke2.5K views
Sql azure知ってますか?改訂版 by Oda Shinsuke
Sql azure知ってますか?改訂版Sql azure知ってますか?改訂版
Sql azure知ってますか?改訂版
Oda Shinsuke795 views
Sql database のご紹介 by Oda Shinsuke
Sql database のご紹介Sql database のご紹介
Sql database のご紹介
Oda Shinsuke1.6K views
Start SQL Server with Docker by Oshitari_kochi
Start SQL Server with DockerStart SQL Server with Docker
Start SQL Server with Docker
Oshitari_kochi359 views
T sql 振り返り by Oda Shinsuke
T sql 振り返りT sql 振り返り
T sql 振り返り
Oda Shinsuke2.4K views
T sql の parse と generator by Oda Shinsuke
T sql の parse と generatorT sql の parse と generator
T sql の parse と generator
Oda Shinsuke2.3K views
2015-12-16 某S社、出直しDDDってるってよ by kumake
2015-12-16 某S社、出直しDDDってるってよ2015-12-16 某S社、出直しDDDってるってよ
2015-12-16 某S社、出直しDDDってるってよ
kumake 4.4K views
Seas で語られたこととは? by Masayuki Ozawa
Seas で語られたこととは?Seas で語られたこととは?
Seas で語られたこととは?
Masayuki Ozawa810 views
進化したのはサーバだけじゃない!〜DBA の毎日をもっと豊かにするユーティリティのすすめ〜 by Michitoshi Yoshida
進化したのはサーバだけじゃない!〜DBA の毎日をもっと豊かにするユーティリティのすすめ〜進化したのはサーバだけじゃない!〜DBA の毎日をもっと豊かにするユーティリティのすすめ〜
進化したのはサーバだけじゃない!〜DBA の毎日をもっと豊かにするユーティリティのすすめ〜
Michitoshi Yoshida2.8K views
今更だけどSqLite触ってみたよ by Keisuke Oohata
今更だけどSqLite触ってみたよ今更だけどSqLite触ってみたよ
今更だけどSqLite触ってみたよ
Keisuke Oohata602 views
Windows Azure BootCamp - SQL Azure by 貴仁 大和屋
Windows Azure BootCamp - SQL AzureWindows Azure BootCamp - SQL Azure
Windows Azure BootCamp - SQL Azure
貴仁 大和屋1.1K views
オトナのDocker入門 by Tsukasa Kato
オトナのDocker入門オトナのDocker入門
オトナのDocker入門
Tsukasa Kato2.8K views
Windows Azure and PowerShell DSC by Kazuki Takai
Windows Azure and PowerShell DSCWindows Azure and PowerShell DSC
Windows Azure and PowerShell DSC
Kazuki Takai1.5K views
[db tech showcase Sapporo 2015] A26:SQL Server Data Page Structure Deep Dive ... by Insight Technology, Inc.
[db tech showcase Sapporo 2015] A26:SQL Server Data Page Structure Deep Dive ...[db tech showcase Sapporo 2015] A26:SQL Server Data Page Structure Deep Dive ...
[db tech showcase Sapporo 2015] A26:SQL Server Data Page Structure Deep Dive ...

More from Oda Shinsuke

SQL Server2022_PSPoptimization_pub.pdf by
SQL Server2022_PSPoptimization_pub.pdfSQL Server2022_PSPoptimization_pub.pdf
SQL Server2022_PSPoptimization_pub.pdfOda Shinsuke
233 views7 slides
What's hyperscale by
What's hyperscaleWhat's hyperscale
What's hyperscaleOda Shinsuke
694 views10 slides
Dot net+sql server tips by
Dot net+sql server tipsDot net+sql server tips
Dot net+sql server tipsOda Shinsuke
1.2K views21 slides
Sql server 2019 ざっくり紹介 by
Sql server 2019  ざっくり紹介Sql server 2019  ざっくり紹介
Sql server 2019 ざっくり紹介Oda Shinsuke
1.1K views19 slides
Spark on sql server? by
Spark on sql server?Spark on sql server?
Spark on sql server?Oda Shinsuke
957 views23 slides
SQL Server のロック概要 by
SQL Server のロック概要SQL Server のロック概要
SQL Server のロック概要Oda Shinsuke
4.1K views21 slides

More from Oda Shinsuke(20)

SQL Server2022_PSPoptimization_pub.pdf by Oda Shinsuke
SQL Server2022_PSPoptimization_pub.pdfSQL Server2022_PSPoptimization_pub.pdf
SQL Server2022_PSPoptimization_pub.pdf
Oda Shinsuke233 views
Dot net+sql server tips by Oda Shinsuke
Dot net+sql server tipsDot net+sql server tips
Dot net+sql server tips
Oda Shinsuke1.2K views
Sql server 2019 ざっくり紹介 by Oda Shinsuke
Sql server 2019  ざっくり紹介Sql server 2019  ざっくり紹介
Sql server 2019 ざっくり紹介
Oda Shinsuke1.1K views
Spark on sql server? by Oda Shinsuke
Spark on sql server?Spark on sql server?
Spark on sql server?
Oda Shinsuke957 views
SQL Server のロック概要 by Oda Shinsuke
SQL Server のロック概要SQL Server のロック概要
SQL Server のロック概要
Oda Shinsuke4.1K views
Linux + PHP でも SQL Server by Oda Shinsuke
Linux + PHP でも SQL ServerLinux + PHP でも SQL Server
Linux + PHP でも SQL Server
Oda Shinsuke574 views
グラフデータベースの話し by Oda Shinsuke
グラフデータベースの話しグラフデータベースの話し
グラフデータベースの話し
Oda Shinsuke670 views
Sql server 2017 新機能のご紹介 by Oda Shinsuke
Sql server 2017 新機能のご紹介Sql server 2017 新機能のご紹介
Sql server 2017 新機能のご紹介
Oda Shinsuke1.6K views
Sql server 2017 からはじめる graph データベース by Oda Shinsuke
Sql server 2017 からはじめる graph データベースSql server 2017 からはじめる graph データベース
Sql server 2017 からはじめる graph データベース
Oda Shinsuke2.5K views
Transaction scopeまだダメ by Oda Shinsuke
Transaction scopeまだダメTransaction scopeまだダメ
Transaction scopeまだダメ
Oda Shinsuke742 views
2016年を振り返って by Oda Shinsuke
2016年を振り返って2016年を振り返って
2016年を振り返って
Oda Shinsuke1.3K views
開発者の方向けの Sql server(db) t sql 振り返り by Oda Shinsuke
開発者の方向けの Sql server(db) t sql 振り返り開発者の方向けの Sql server(db) t sql 振り返り
開発者の方向けの Sql server(db) t sql 振り返り
Oda Shinsuke2.2K views
Ms build 触ってみよう by Oda Shinsuke
Ms build 触ってみようMs build 触ってみよう
Ms build 触ってみよう
Oda Shinsuke2.9K views
Sql server sql database 最新機能紹介 by Oda Shinsuke
Sql server sql database 最新機能紹介Sql server sql database 最新機能紹介
Sql server sql database 最新機能紹介
Oda Shinsuke2.2K views
Selenium 触ってみよう by Oda Shinsuke
Selenium 触ってみようSelenium 触ってみよう
Selenium 触ってみよう
Oda Shinsuke1.7K views
Sql database のご紹介 by Oda Shinsuke
Sql database のご紹介Sql database のご紹介
Sql database のご紹介
Oda Shinsuke1.2K views

Recently uploaded

定例会スライド_キャチs 公開用.pdf by
定例会スライド_キャチs 公開用.pdf定例会スライド_キャチs 公開用.pdf
定例会スライド_キャチs 公開用.pdfKeio Robotics Association
146 views64 slides
光コラボは契約してはいけない by
光コラボは契約してはいけない光コラボは契約してはいけない
光コラボは契約してはいけないTakuya Matsunaga
28 views17 slides
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」 by
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」PC Cluster Consortium
66 views12 slides
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向 by
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Hitachi, Ltd. OSS Solution Center.
109 views26 slides
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」 by
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」PC Cluster Consortium
28 views36 slides

Recently uploaded(7)

光コラボは契約してはいけない by Takuya Matsunaga
光コラボは契約してはいけない光コラボは契約してはいけない
光コラボは契約してはいけない
Takuya Matsunaga28 views
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」 by PC Cluster Consortium
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」 by PC Cluster Consortium
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」

Sql world を支える技術

Editor's Notes

  1. 動いてるのを見てみましょう。 ちょちょっとクエリを書いて実行。
  2. 今日はこの3つをメインにスライド用意しています。 他の聞きたい!ってあればそちらも紹介します。
  3. SCM は Software configuration management(ソフトウェア構成管理) サプライチェーンマネジメントとは違うよー
  4. スキーマ:.NET でいう 名前空間 みたいな物という認識で OK です。 ログイン 作って Database にスキーマとユーザーを作成。ユーザーはログインとスキーマに紐付け。 ログイン は SQL Database なので SQL Server 認証 マルチテナント 等でも使われてるのかも知れませんね。 全テーブルに 会社コード 持つ or そもそも スキーマ 分ける
  5. スキーマ で絞り込んで テーブル定義 を取得しています。
  6. 権限を絞って対応してます。 DROP TABLE とかされると勉強会に支障をきたすので。 sa でアプリ運用しているところもあったりするんですかね? 権限は、スキーマやテーブル単位だけでなく列単位でも掛けれるので、特定の列のデータは見せたくないみたいなのもやろうと思えば可能。
  7. 通常の回答では出てこないような、嫌がらせをされる事も考える必要あり! maxrecursion 0 は危険! 通常 100回再帰で打ち切りの所を、ずっと再帰しててもええんやでという設定。
  8. 2008 では、Interface と Impl とで名前空間が分かれていたので、頑張れば 他ベンダーの SQL に対しての Parser/Generator も実装出来た。 Microsoft.Data.Schema.ScriptDom/Microsoft.Data.Schema.ScriptDom.Sql => Microsoft.SqlServer.TransactSql.ScriptDom 2012 からは、T-SQL 専用になりました。
  9. Generator はバージョン間の差が良く分からない。。 Parse&Generator のデモ
  10. ビルド時に ORDER BY チェックデモ クエリの生成は結構大変 http://odashinsuke.hatenablog.com/entry/20130224/1361714459 の記事最後見せる
  11. 参加者からの要望
  12. XML をとれましたが、そのまま表示しても普通読めません。 SSMS っぽく表示したいなー。MS製の物は無さそう
  13. 昔試してた時はちゃんと出てた。 デモ作って動かす。