Submit Search
Upload
Sqlアンチパターン読書会 #7スライド資料
•
1 like
•
2,890 views
Naoya Ishii
Follow
Report
Share
Report
Share
1 of 18
Download now
Download to read offline
Recommended
2016年第二回プレ卒研in山口研
2016年第二回プレ卒研in山口研
2016年第二回プレ卒研in山口研
dmcc2015
でぶさみ夏2013 キーノートのリレートークでとりを努めた オレンジレンジャーの資料です。
でぶさみ夏2013 キーノート オレンジレンジャーの資料
でぶさみ夏2013 キーノート オレンジレンジャーの資料
Tomohiro Fujii
デブサミ Developers Summit 2013 Summer (夏サミ2013)B-4 講演資料 吉田雄哉(モデレータ) 株式会社co-meeting 取締役 CTO 林哲也 株式会社パイプドビッツ 取締役CTO 安立雄亮 株式会社シグマクレスト 絆処~晶~ 業務にフィットするアプリをスピード開発できるPaaS「SPIRAL」 http://developer.pi-pe.co.jp/
国産業務PaaSを担いで稼ぐ方法 ~SIerの生き残る道の1つとなるか? ~
国産業務PaaSを担いで稼ぐ方法 ~SIerの生き残る道の1つとなるか? ~
SPIRAL Inc.
Developers Summit 2013 Summer キーノートセッション用プレゼン
DevOps at ChatWork
DevOps at ChatWork
Masaki Yamamoto
夏サミ 2013 A2 セッション資料 #natsumiA2
夏サミ 2013 A2 セッション資料 #natsumiA2
智治 長沢
夏サミ 2013 基調講演 長沢パート資料 #natsumiS1
夏サミ 2013 基調講演 長沢パート資料 #natsumiS1
智治 長沢
Devsumi summer 2013_b2_share
Devsumi summer 2013_b2_share
グロースエクスパートナーズ株式会社/Growth xPartners Incorporated.
翔泳社主催のソフトウェア開発者向けカンファレンス「Developers Summit 2013 Summer」(夏サミ2013)で、サーバーワークスの代表 大石をモデレーターに、はてな・GREEでCTOを歴任された伊藤直也さん、Sansan株式会社でEightの開発指揮を執られている宍倉功一さんと3人で「DevOpsって本当のところどうなのよ?」と題したパネルディスカッション行いました。 本資料は、その内容をダイジェスト形式にまとめたものです。
2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」
2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」
Serverworks Co.,Ltd.
Recommended
2016年第二回プレ卒研in山口研
2016年第二回プレ卒研in山口研
2016年第二回プレ卒研in山口研
dmcc2015
でぶさみ夏2013 キーノートのリレートークでとりを努めた オレンジレンジャーの資料です。
でぶさみ夏2013 キーノート オレンジレンジャーの資料
でぶさみ夏2013 キーノート オレンジレンジャーの資料
Tomohiro Fujii
デブサミ Developers Summit 2013 Summer (夏サミ2013)B-4 講演資料 吉田雄哉(モデレータ) 株式会社co-meeting 取締役 CTO 林哲也 株式会社パイプドビッツ 取締役CTO 安立雄亮 株式会社シグマクレスト 絆処~晶~ 業務にフィットするアプリをスピード開発できるPaaS「SPIRAL」 http://developer.pi-pe.co.jp/
国産業務PaaSを担いで稼ぐ方法 ~SIerの生き残る道の1つとなるか? ~
国産業務PaaSを担いで稼ぐ方法 ~SIerの生き残る道の1つとなるか? ~
SPIRAL Inc.
Developers Summit 2013 Summer キーノートセッション用プレゼン
DevOps at ChatWork
DevOps at ChatWork
Masaki Yamamoto
夏サミ 2013 A2 セッション資料 #natsumiA2
夏サミ 2013 A2 セッション資料 #natsumiA2
智治 長沢
夏サミ 2013 基調講演 長沢パート資料 #natsumiS1
夏サミ 2013 基調講演 長沢パート資料 #natsumiS1
智治 長沢
Devsumi summer 2013_b2_share
Devsumi summer 2013_b2_share
グロースエクスパートナーズ株式会社/Growth xPartners Incorporated.
翔泳社主催のソフトウェア開発者向けカンファレンス「Developers Summit 2013 Summer」(夏サミ2013)で、サーバーワークスの代表 大石をモデレーターに、はてな・GREEでCTOを歴任された伊藤直也さん、Sansan株式会社でEightの開発指揮を執られている宍倉功一さんと3人で「DevOpsって本当のところどうなのよ?」と題したパネルディスカッション行いました。 本資料は、その内容をダイジェスト形式にまとめたものです。
2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」
2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」
Serverworks Co.,Ltd.
2014/04/03 (木) SQLアンチパターン読書会 「スパゲッティクエリ」 http://sqlap.doorkeeper.jp/events/10206
SQLアンチパターン読書会 「スパゲッティクエリ」
SQLアンチパターン読書会 「スパゲッティクエリ」
makopi 23
Developers Summit 2013 Summer (2013年8月1日渋谷にて開催)のS1セッション「DevOpsは開発現場とビジネスの間に何を生むか?」の新野さんの登壇資料です。 【セッション概要】 DevOpsというムーブメントが示すものとはいったい何なのかを改めて整理しつつ、それを構成する技術要素、およびそれを構成する技術者の姿勢から、その先にどのような成果が生まれるはずなのか、講演者のさまざまな意見を聞いていく。
夏サミ2013 基調講演 「DevOpsは開発現場とビジネスの間に何を生むか?」(新野淳一氏)
夏サミ2013 基調講演 「DevOpsは開発現場とビジネスの間に何を生むか?」(新野淳一氏)
Developers Summit
Developers Summit 2013 Summer (2013年8月1日渋谷)の A1セッション「基礎からわかるDevOps」の登壇資料です。 【セッション概要】 最近DevOpsという言葉を頻繁に見かけるようになりましたが、DevOpsとは何なのか?については人によって解釈が異なっており、 もやっとしたバズワードのように感じてしまうというのが現状ではないかと思います。 本セッションでは、DevOpsとは何なのかを明らかにしつつ、DevOpsと密接な関わりのある組織や開発手法や自動化ソリューション、ツール群との関係性をお話しします。
夏サミ2013【A1】基礎からわかるDevOps
夏サミ2013【A1】基礎からわかるDevOps
Developers Summit
Sqlアンチパターン読書会 インプリシットカラム
Sqlアンチパターン読書会 インプリシットカラム
Hiroyuki Ohnaka
実践!データベースリファクタリングツール
実践!データベースリファクタリングツール
Tatsunori Matoba
PostgreSQLカンファレンス2013 LightningTalk (2013-11-13: migr8.rbの設定箇所を若干修正) (2013-11-14: SQLite3での設定等を修正、「migr8.rb new --table=users」を追加)
DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!
kwatch
Tapl 5
Tapl 5
rf0444
システムテスト自動化標準ガイド第7章
システムテスト自動化標準ガイド第7章
nihon buson
20120830 DBリファクタリング読書会第三回
20120830 DBリファクタリング読書会第三回
都元ダイスケ Miyamoto
システムテスト自動化標準ガイド読書会で発表した資料です。
第4章 自動比較
第4章 自動比較
toku toku
It all started with an idea when it got announced and shared by Kaspars Dambis. He wrote a blog post about it and I really started digging the idea even more. During this talk I will discuss new options Apple TV gives developers like us. Showing the power of the REST API and the XML template format of Apple to build a WooCommerce AppleTV app.
WooCommerce & Apple TV
WooCommerce & Apple TV
Marko Heijnen
アジャイルサムライ読書会 横浜道場 特別編 「アジャイルは組織を変えられるのか」(http://goo.gl/OdciP)のオープニングとエピローグ部分の発表資料です。メイン資料はこちら=> http://goo.gl/TkDLR
アジャイルリーダーシップと組織改革 ~楽天のアジャイル開発というリアル~ エピローグ
アジャイルリーダーシップと組織改革 ~楽天のアジャイル開発というリアル~ エピローグ
Dai FUJIHARA
第二回 システムテスト自動化 標準ガイド 読書会
テスト自動化読書会 第3章 20150523
テスト自動化読書会 第3章 20150523
dnoguchi
スタートHaskell2で発表
すごいHaskell楽しく学ぼう 第6章
すごいHaskell楽しく学ぼう 第6章
aomori ringo
システムテスト自動化標準ガイド 5章発表資料
システムテスト自動化標準ガイド 5章発表資料
Masatoshi Itoh
http://partake.in/events/e2f99b6b-a96f-4819-80d5-c5d61d2b427cのLT
文芸的プログラミング
文芸的プログラミング
Shoko Sasaki
Developers Summit2015での発表資料です http://event.shoeisha.jp/devsumi/20150219/session/647/
[デブサミ2015] スクラムならうまくいく?〜グリーのネイティブゲーム作りの歴史をひもとく、そして未来へ〜
[デブサミ2015] スクラムならうまくいく?〜グリーのネイティブゲーム作りの歴史をひもとく、そして未来へ〜
gree_tech
第1回「システムテスト自動化 標準ガイド」読書会 第2章 キャプチャーリプレイはテスト自動化ではない
20150418 システムテスト自動化 第二章
20150418 システムテスト自動化 第二章
atsushi ishiji
インタビューの失敗談と リーン顧客開発 川鯉 光起 はじめに リーン顧客開発について 読んでいたら防げたはずの自分達の失敗経験と ハイライトをセットで紹介 活動 音楽活動の支援 期間:2014年08月~12月 感度:チームに音楽経験者無し 動機:市場が大きいと思った 流れ: ・ユーザインタビュー ・アイデア出し ・ソリューションインタビュー 学習の支援 期間:2015年01月~ 感度:チームの持っている課題 動機:自分たちの課題 流れ: ・ユーザインタビュー ・アイデア出し ・ソリューションインタビュー 仮説を立てる 対象を決める 対象を探す 話を聞く 失敗CASE1 見当外れのアイデアが量産 チーム内での認識を合わせていなかった 対策:認識合わせをする チーム内での認識を合わせる • 顧客は______についての課題を抱えている。 • 顧客は、この課題の解決のために______を投資する用意がある。 • この製品を使い始めた顧客は、______を得ることができる。 • この問題は、顧客の______に影響する。 • 顧客はすでに______のようなツールを使用している。 • 顧客の購買決定は______の影響を受けている。 • この製品は______という理由で、顧客にとって有用になるだろう。 • 顧客はテクノロジーに対して______である。 • 顧客は変化に対して______である。 • この製品の開発/製造には______を要するだろう。 p22,リーン顧客開発 チームで認識を合わせるときには、以下の項目を考えます。 失敗CASE2 仮説もなく、仮説を検証するためのインタビューでもない やめるタイミングが分からない インタビューをやめることを考えてなかった このインタビューいつまで続くのかな。。。 もう、100人近くインタビューしてるけど 対策:先に仮説を決めてインタビューする 話を聞いて驚かなくなったら止める 課題仮説を記述する [顧客像]は、[タスク]をするとき、[課題の内容]という課題がある。 または、 [顧客像]は、[制限/制約]のために、[課題]を体験している。 p25,リーン顧客開発 「新しい分野を始める学習者は、教材を選択をするとき、 自分に適してない教材を選択してしまう課題がある。」 例えば 顧客セグメント仮説を記述する • 節約重視か、時間重視か? • 意思決定に従う人か、意思決定をする人か? • コントロールを求めるか、利便性を求め
LeanCustomerDevelopment
LeanCustomerDevelopment
Kouki Kawagoi
TAPL勉強会 第1章 (2012-07-17)
TAPL勉強会 第1章 (2012-07-17)
none_toka
More Related Content
Viewers also liked
2014/04/03 (木) SQLアンチパターン読書会 「スパゲッティクエリ」 http://sqlap.doorkeeper.jp/events/10206
SQLアンチパターン読書会 「スパゲッティクエリ」
SQLアンチパターン読書会 「スパゲッティクエリ」
makopi 23
Developers Summit 2013 Summer (2013年8月1日渋谷にて開催)のS1セッション「DevOpsは開発現場とビジネスの間に何を生むか?」の新野さんの登壇資料です。 【セッション概要】 DevOpsというムーブメントが示すものとはいったい何なのかを改めて整理しつつ、それを構成する技術要素、およびそれを構成する技術者の姿勢から、その先にどのような成果が生まれるはずなのか、講演者のさまざまな意見を聞いていく。
夏サミ2013 基調講演 「DevOpsは開発現場とビジネスの間に何を生むか?」(新野淳一氏)
夏サミ2013 基調講演 「DevOpsは開発現場とビジネスの間に何を生むか?」(新野淳一氏)
Developers Summit
Developers Summit 2013 Summer (2013年8月1日渋谷)の A1セッション「基礎からわかるDevOps」の登壇資料です。 【セッション概要】 最近DevOpsという言葉を頻繁に見かけるようになりましたが、DevOpsとは何なのか?については人によって解釈が異なっており、 もやっとしたバズワードのように感じてしまうというのが現状ではないかと思います。 本セッションでは、DevOpsとは何なのかを明らかにしつつ、DevOpsと密接な関わりのある組織や開発手法や自動化ソリューション、ツール群との関係性をお話しします。
夏サミ2013【A1】基礎からわかるDevOps
夏サミ2013【A1】基礎からわかるDevOps
Developers Summit
Sqlアンチパターン読書会 インプリシットカラム
Sqlアンチパターン読書会 インプリシットカラム
Hiroyuki Ohnaka
実践!データベースリファクタリングツール
実践!データベースリファクタリングツール
Tatsunori Matoba
PostgreSQLカンファレンス2013 LightningTalk (2013-11-13: migr8.rbの設定箇所を若干修正) (2013-11-14: SQLite3での設定等を修正、「migr8.rb new --table=users」を追加)
DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!
kwatch
Tapl 5
Tapl 5
rf0444
システムテスト自動化標準ガイド第7章
システムテスト自動化標準ガイド第7章
nihon buson
20120830 DBリファクタリング読書会第三回
20120830 DBリファクタリング読書会第三回
都元ダイスケ Miyamoto
システムテスト自動化標準ガイド読書会で発表した資料です。
第4章 自動比較
第4章 自動比較
toku toku
It all started with an idea when it got announced and shared by Kaspars Dambis. He wrote a blog post about it and I really started digging the idea even more. During this talk I will discuss new options Apple TV gives developers like us. Showing the power of the REST API and the XML template format of Apple to build a WooCommerce AppleTV app.
WooCommerce & Apple TV
WooCommerce & Apple TV
Marko Heijnen
アジャイルサムライ読書会 横浜道場 特別編 「アジャイルは組織を変えられるのか」(http://goo.gl/OdciP)のオープニングとエピローグ部分の発表資料です。メイン資料はこちら=> http://goo.gl/TkDLR
アジャイルリーダーシップと組織改革 ~楽天のアジャイル開発というリアル~ エピローグ
アジャイルリーダーシップと組織改革 ~楽天のアジャイル開発というリアル~ エピローグ
Dai FUJIHARA
第二回 システムテスト自動化 標準ガイド 読書会
テスト自動化読書会 第3章 20150523
テスト自動化読書会 第3章 20150523
dnoguchi
スタートHaskell2で発表
すごいHaskell楽しく学ぼう 第6章
すごいHaskell楽しく学ぼう 第6章
aomori ringo
システムテスト自動化標準ガイド 5章発表資料
システムテスト自動化標準ガイド 5章発表資料
Masatoshi Itoh
http://partake.in/events/e2f99b6b-a96f-4819-80d5-c5d61d2b427cのLT
文芸的プログラミング
文芸的プログラミング
Shoko Sasaki
Developers Summit2015での発表資料です http://event.shoeisha.jp/devsumi/20150219/session/647/
[デブサミ2015] スクラムならうまくいく?〜グリーのネイティブゲーム作りの歴史をひもとく、そして未来へ〜
[デブサミ2015] スクラムならうまくいく?〜グリーのネイティブゲーム作りの歴史をひもとく、そして未来へ〜
gree_tech
第1回「システムテスト自動化 標準ガイド」読書会 第2章 キャプチャーリプレイはテスト自動化ではない
20150418 システムテスト自動化 第二章
20150418 システムテスト自動化 第二章
atsushi ishiji
インタビューの失敗談と リーン顧客開発 川鯉 光起 はじめに リーン顧客開発について 読んでいたら防げたはずの自分達の失敗経験と ハイライトをセットで紹介 活動 音楽活動の支援 期間:2014年08月~12月 感度:チームに音楽経験者無し 動機:市場が大きいと思った 流れ: ・ユーザインタビュー ・アイデア出し ・ソリューションインタビュー 学習の支援 期間:2015年01月~ 感度:チームの持っている課題 動機:自分たちの課題 流れ: ・ユーザインタビュー ・アイデア出し ・ソリューションインタビュー 仮説を立てる 対象を決める 対象を探す 話を聞く 失敗CASE1 見当外れのアイデアが量産 チーム内での認識を合わせていなかった 対策:認識合わせをする チーム内での認識を合わせる • 顧客は______についての課題を抱えている。 • 顧客は、この課題の解決のために______を投資する用意がある。 • この製品を使い始めた顧客は、______を得ることができる。 • この問題は、顧客の______に影響する。 • 顧客はすでに______のようなツールを使用している。 • 顧客の購買決定は______の影響を受けている。 • この製品は______という理由で、顧客にとって有用になるだろう。 • 顧客はテクノロジーに対して______である。 • 顧客は変化に対して______である。 • この製品の開発/製造には______を要するだろう。 p22,リーン顧客開発 チームで認識を合わせるときには、以下の項目を考えます。 失敗CASE2 仮説もなく、仮説を検証するためのインタビューでもない やめるタイミングが分からない インタビューをやめることを考えてなかった このインタビューいつまで続くのかな。。。 もう、100人近くインタビューしてるけど 対策:先に仮説を決めてインタビューする 話を聞いて驚かなくなったら止める 課題仮説を記述する [顧客像]は、[タスク]をするとき、[課題の内容]という課題がある。 または、 [顧客像]は、[制限/制約]のために、[課題]を体験している。 p25,リーン顧客開発 「新しい分野を始める学習者は、教材を選択をするとき、 自分に適してない教材を選択してしまう課題がある。」 例えば 顧客セグメント仮説を記述する • 節約重視か、時間重視か? • 意思決定に従う人か、意思決定をする人か? • コントロールを求めるか、利便性を求め
LeanCustomerDevelopment
LeanCustomerDevelopment
Kouki Kawagoi
TAPL勉強会 第1章 (2012-07-17)
TAPL勉強会 第1章 (2012-07-17)
none_toka
Viewers also liked
(20)
SQLアンチパターン読書会 「スパゲッティクエリ」
SQLアンチパターン読書会 「スパゲッティクエリ」
夏サミ2013 基調講演 「DevOpsは開発現場とビジネスの間に何を生むか?」(新野淳一氏)
夏サミ2013 基調講演 「DevOpsは開発現場とビジネスの間に何を生むか?」(新野淳一氏)
夏サミ2013【A1】基礎からわかるDevOps
夏サミ2013【A1】基礎からわかるDevOps
Sqlアンチパターン読書会 インプリシットカラム
Sqlアンチパターン読書会 インプリシットカラム
実践!データベースリファクタリングツール
実践!データベースリファクタリングツール
DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!
Tapl 5
Tapl 5
システムテスト自動化標準ガイド第7章
システムテスト自動化標準ガイド第7章
20120830 DBリファクタリング読書会第三回
20120830 DBリファクタリング読書会第三回
第4章 自動比較
第4章 自動比較
WooCommerce & Apple TV
WooCommerce & Apple TV
アジャイルリーダーシップと組織改革 ~楽天のアジャイル開発というリアル~ エピローグ
アジャイルリーダーシップと組織改革 ~楽天のアジャイル開発というリアル~ エピローグ
テスト自動化読書会 第3章 20150523
テスト自動化読書会 第3章 20150523
すごいHaskell楽しく学ぼう 第6章
すごいHaskell楽しく学ぼう 第6章
システムテスト自動化標準ガイド 5章発表資料
システムテスト自動化標準ガイド 5章発表資料
文芸的プログラミング
文芸的プログラミング
[デブサミ2015] スクラムならうまくいく?〜グリーのネイティブゲーム作りの歴史をひもとく、そして未来へ〜
[デブサミ2015] スクラムならうまくいく?〜グリーのネイティブゲーム作りの歴史をひもとく、そして未来へ〜
20150418 システムテスト自動化 第二章
20150418 システムテスト自動化 第二章
LeanCustomerDevelopment
LeanCustomerDevelopment
TAPL勉強会 第1章 (2012-07-17)
TAPL勉強会 第1章 (2012-07-17)
Sqlアンチパターン読書会 #7スライド資料
1.
SQLアンチパターン 読書会 2013/08/08 第7章 マルチカラムアトリビュート
2.
アジェンダ 1. 目的:複数の値を持つ属性を格納する 2. アンチパターン:複数の値を定義する 3.
アンチパターンの見つけ方 4. アンチパターンを用いてもよい場合 5. 解決策:従属テーブルを作成する
3.
目的:複数の値を持つ属性を格納する 1つのテーブルに属するべきと思える属性に複数の 値がある場合にそれをどうやって格納するか。 あれ? 第1章「ジェイウォーク(信号無視)」と同じこと なの? 例) アンチパターンの一例として、あるカラムに複数の値を格 納するためにカンマ区切りの値を格納してた。
4.
今回の場合は、複数のカラムを用意して それぞれに値を格納するパターン。 例) アンチパターン:複数の列を定義する
5.
アンチパターンとなる所以 【検索が大変】 複数のカラムに検索対象となる値を比較しに行く のでSQLが複雑かつ見難くなる。 多少見やすくもなるけど.... SELECT * FROM
Bugs WHERE (tag1 = ‘crash’ OR tag2 = ‘crash’ OR tag3 = ‘crash’) AND (tag1 = ‘hdd’ OR tag2 = ‘hdd’ OR tag3 = ‘hdd’) SELECT * FROM Bugs WHERE ‘crash’ IN (tag1, tag2, tag3) AND ‘hdd’ IN (tag1, tag2, tag3)
6.
アンチパターンとなる所以2 【値の追加と削除が大変】 例)タグ”Soon”を追加したい。
7.
アンチパターンとなる所以 ■対処法 ※値のない空いているカラムは、目視やアプリケーション内で確 認する必要がある。 また、外の処理からの横槍(上書きとか)の考慮も必要。 1. 空のカラムを探して 2. UPDATE文実行
8.
アンチパターンとなる所以2 なら ・NULLIFを使って同時更新! ・WHEN〜THEN句を使って更新! UPDATE Bugs SET tag1
= NULLIF(tag1, ‘performance’), tag2= NULLIF(tag2, ‘performance’), tag3= NULLIF(tag3, ‘performance’); UPDATE Bugs SET tag1 = CASE WHEN ‘performance’ IN (tag2, tag3) THEN tag1 ELSE COALESCE (tag1, ‘persormance’) END
9.
アンチパターンとなる所以3 【一意性の保証が持てない】 制約を入れられる手段がないから、用意したカラム (tag1,tag2,tag3....)に同じ値を入れることも可能。 INSERT INTO Bugs
(description, tag1, tag2, tag3) VALUES (‘印刷が遅い’, ‘printing’,’performance’,’performance’)
10.
アンチパターンとなる所以4 【え?もっと入れるんですか?】 カラム(列数)が固定となるため、状況によっては用 意したカラムの数では足りなくなることもある。 ならカラム増やせばいいじゃん (ALTER TABLE 〜
ADD COLUMN文の発行) えっ!?(´・ω`・)エッ?
11.
アンチパターンとなる所以4 えっ!?(´・ω`・)エッ? テーブルの構造を変えると、外部からのアクセスを一時的に遮 断する必要がある。 カラムを追加した新テーブルを用意して、旧テーブルから内容 をコピーする方法もある。 が、場合によってはデータ転送に時間がかかる。 カラムを追加したテーブルを参照するすべてのSQL(クライア ント)に対して、追加したカラムも扱うように知り必要もある。 (バグの匂いがプンプンするぜ)
12.
アンチパターンの見つけ方 ユーザインタフェースやプロジェクトの ドキュメント(仕様書)に、複数の値を割り当てるもの の、上限が決められているような記述・説明があっ た場合。 例) タグ :「タグは最大5つまで記述が可能」 電話番号:自宅、携帯、FAX、日中の連絡先・・・ 対話の中で「サポートすべきxxxxの数っていくつまで?」 「SQLで複数の列を同時に検索する方法って知ってる」 が出てきた時。
13.
アンチパターンを用いてもいい場合 【列の順番が意味を成すとき】 例)各列にはユーザ名が入るが、それぞれに 「発見者」「修正者」「承認者」と意味を持つ場合。 (カラム名そのものを関連する意味を持つようにさせるとベター)
14.
アンチパターンを用いてもいい場合 【従属テーブルを作成するとき】 例)BugsテーブルからAccountテーブルへ複数の関連を持つ従 属テーブルを作成するとき。 (ただしEAVパターンでの””問題が発生することもあるので注意)
15.
解決策:従属テーブルを作成する 属性を格納する列を1つ持つ従属テーブルを作成 し、属性を格納する。 例) 更新や削除対象が従属テーブル側になるので楽チン。 PRIMARYキーの制約もつければ、重複も防げる。
16.
解決策:従属テーブルを作成する ちなみに、第1章「ジェイウォーク」での解決方法は 交差テーブルを作る。 でした。
17.
まとめ おなじ意味を持つ値は、 1つの列に格納するようにしましょう そして私見 今回のタグ名の用意、1〜∞のような事例が想定されるなら従属 テーブルを用意して対応。 電話番号程度の3つくらいまでなら設計・運用でカバーすれば いいんじゃない?
18.
以上。 ご清聴、ありがとうございました。 [@naopi]
Download now