Upload
Download free for 30 days
Login
Submit Search
ドメイン名の話 (データベース/SQL)
1 like
4,847 views
tsudaa
データベースのドメイン名の話
Read more
1 of 12
Download now
Download to read offline
1
2
3
4
5
6
7
8
9
10
11
12
More Related Content
PDF
O/Rマッパーによるトラブルを未然に防ぐ
kwatch
PDF
BigQueryを始めてみよう - Google Analytics データを活用する
Google Cloud Platform - Japan
PDF
Vacuum徹底解説
Masahiko Sawada
PDF
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
Takuto Wada
PDF
Scala警察のすすめ
takezoe
PDF
イケてる技術で品質を担保しつつスピード感のある開発を実現する冴えたやり方
Yuta Matsumura
PDF
トランザクションスクリプトのすすめ
pospome
PDF
【旧版】Oracle Database Cloud Service:サービス概要のご紹介 [2021年7月版]
オラクルエンジニア通信
O/Rマッパーによるトラブルを未然に防ぐ
kwatch
BigQueryを始めてみよう - Google Analytics データを活用する
Google Cloud Platform - Japan
Vacuum徹底解説
Masahiko Sawada
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
Takuto Wada
Scala警察のすすめ
takezoe
イケてる技術で品質を担保しつつスピード感のある開発を実現する冴えたやり方
Yuta Matsumura
トランザクションスクリプトのすすめ
pospome
【旧版】Oracle Database Cloud Service:サービス概要のご紹介 [2021年7月版]
オラクルエンジニア通信
What's hot
(20)
PDF
例外設計における大罪
Takuto Wada
PDF
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
Takuto Wada
PPTX
押さえておきたい、PostgreSQL 13 の新機能!! (PostgreSQL Conference Japan 2020講演資料)
NTT DATA Technology & Innovation
PPTX
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
PDF
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
Hiroh Satoh
PDF
2019年度 若手技術者向け講座 実行計画
keki3
PDF
20180508 AWS Black Belt Online Seminar AWS Greengrassで実現するエッジコンピューティング
Amazon Web Services Japan
PDF
本当にできるの?ミッションクリティカルシステムのクラウド移行ダイジェスト (Oracle Cloudウェビナーシリーズ: 2021年7月7日)
オラクルエンジニア通信
PDF
AWS の IoT 向けサービス
Amazon Web Services Japan
PPTX
backlogsでもCI/CDする夢を見る
Takeru Maehara
PDF
Spring Boot × Vue.jsでSPAを作る
Go Miyasaka
PDF
Snowflake Architecture and Performance(db tech showcase Tokyo 2018)
Mineaki Motohashi
PPTX
SageMakerを使った異常検知
Ryohei Yamaguchi
PDF
データ分析グループの組織編制とその課題 マーケティングにおけるKPI設計の失敗例 ABテストの活用と、機械学習の導入 #CWT2016
Tokoroten Nakayama
PDF
ドメインオブジェクトの見つけ方・作り方・育て方
増田 亨
PDF
SQL Server チューニング基礎
Microsoft
PDF
社内Java8勉強会 ラムダ式とストリームAPI
Akihiro Ikezoe
PPTX
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
Miki Shimogai
PDF
SQLアンチパターン - ジェイウォーク
ke-m kamekoopa
PPTX
NuxtでAPIサーバー立ててみた
ssuserbf0fbd
例外設計における大罪
Takuto Wada
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
Takuto Wada
押さえておきたい、PostgreSQL 13 の新機能!! (PostgreSQL Conference Japan 2020講演資料)
NTT DATA Technology & Innovation
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
Hiroh Satoh
2019年度 若手技術者向け講座 実行計画
keki3
20180508 AWS Black Belt Online Seminar AWS Greengrassで実現するエッジコンピューティング
Amazon Web Services Japan
本当にできるの?ミッションクリティカルシステムのクラウド移行ダイジェスト (Oracle Cloudウェビナーシリーズ: 2021年7月7日)
オラクルエンジニア通信
AWS の IoT 向けサービス
Amazon Web Services Japan
backlogsでもCI/CDする夢を見る
Takeru Maehara
Spring Boot × Vue.jsでSPAを作る
Go Miyasaka
Snowflake Architecture and Performance(db tech showcase Tokyo 2018)
Mineaki Motohashi
SageMakerを使った異常検知
Ryohei Yamaguchi
データ分析グループの組織編制とその課題 マーケティングにおけるKPI設計の失敗例 ABテストの活用と、機械学習の導入 #CWT2016
Tokoroten Nakayama
ドメインオブジェクトの見つけ方・作り方・育て方
増田 亨
SQL Server チューニング基礎
Microsoft
社内Java8勉強会 ラムダ式とストリームAPI
Akihiro Ikezoe
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
Miki Shimogai
SQLアンチパターン - ジェイウォーク
ke-m kamekoopa
NuxtでAPIサーバー立ててみた
ssuserbf0fbd
Ad
More from tsudaa
(18)
PDF
Json型の使い方
tsudaa
PDF
ぬぎんくす問題
tsudaa
PDF
Windows でも時刻合わせがしたい!
tsudaa
PDF
Python と私の事情
tsudaa
PDF
真理とは何か
tsudaa
PDF
Excelのどうでもよいtipsの紹介
tsudaa
PDF
MySQL のユーザー定義変数と RDB のココロ
tsudaa
PDF
HiroshimaJUG の「Java8 Lambda ハンズオン with すごい広島」を5分で振り返る
tsudaa
PDF
スターマークの話
tsudaa
PDF
Powershell のセキュリティ (大都会ver)
tsudaa
PDF
昼の12時は午○何時?
tsudaa
PDF
PowerShell 紹介
tsudaa
PDF
全角チルダ問題
tsudaa
PPTX
資格は役に立つか
tsudaa
PDF
○○型言語と呼ばれるために備えるべき最低限の条件についての検討
tsudaa
PDF
文字数はおいくら?(Ruby版)
tsudaa
PDF
法律の読み方とか
tsudaa
PDF
C++入門?
tsudaa
Json型の使い方
tsudaa
ぬぎんくす問題
tsudaa
Windows でも時刻合わせがしたい!
tsudaa
Python と私の事情
tsudaa
真理とは何か
tsudaa
Excelのどうでもよいtipsの紹介
tsudaa
MySQL のユーザー定義変数と RDB のココロ
tsudaa
HiroshimaJUG の「Java8 Lambda ハンズオン with すごい広島」を5分で振り返る
tsudaa
スターマークの話
tsudaa
Powershell のセキュリティ (大都会ver)
tsudaa
昼の12時は午○何時?
tsudaa
PowerShell 紹介
tsudaa
全角チルダ問題
tsudaa
資格は役に立つか
tsudaa
○○型言語と呼ばれるために備えるべき最低限の条件についての検討
tsudaa
文字数はおいくら?(Ruby版)
tsudaa
法律の読み方とか
tsudaa
C++入門?
tsudaa
Ad
ドメイン名の話 (データベース/SQL)
1.
ドメインの話 LTDD #15 @tsuda_ahr
2.
ドメインというと色々ありますが… 今回のドメインは、www.servername.com 、的なやつじゃないです。
3.
昨年、某DB勉強会のハンズオンで、こんな ER 図を書きましたが
4.
列名の命名方法で質問があったんですね。 なぜ「file_size」なのか。 「Size」じゃないのか?
5.
ドメイン(定義域)という考え方がありまして。 列名はオブジェクト指向のプロパティやフィールドとはちょっと違う感じ。 列名
= 型、に近い。 この「型」のようなものを「ドメイン名」と呼ぶ。
6.
ドメイン名の利点1: 自然結合 普通に結合 select
* from TABLE_A inner join TABLE_B on TABLE_A.key1 = TABLE_B.key1; こう書ける select * from TABLE_A natural join TABLE_B;
7.
つまり 普通の結合の場合は、結合する列の対応を記述しないといけない。 自然結合の場合は、同名の列名は結合の対象と自動で判断する。
記述量が減るので、ちょっと便利。 ただ、自然結合は、同名の列名すべてと JOIN するので使いづらい場合が多い。
8.
ドメイン名の利点2: 自然結合を使わない場合でも! 同名の列は「結合の条件となり得る」と判断できる。
逆に、列名が違うもの同士の結合は結合してはならない、という暗黙の了解(=規約)を得るこ とができる。 (オブジェクト指向でいう「型の違う代入」と同等) こちらの利点が主力。
9.
利点2の場合は、実は別の方法もある create domain
文 本当にデータ型を作る -- PostgreSQL の例 create domain file_size as numeric(12); create table TABLE_A( key1 as varchar(10), size as file_size ); -- Oracle にはない模様
10.
create domain の利点と欠点
型名(ドメイン名)による、列の生成が可能となる。 →命名規約というあやふやなものに依存しなくて済む。 他方、ドメイン名に頼って列名を自在に命名すると、自然結合が効かなくなる。 結合列の是非も列名からだけでは判定できないので、SQLの組立てが難しくなる場合が多い。 (ハンガリアン記法みたいですね)
11.
まとめ 列名は、オブジェクト指向プログラミングのようにオブジェクト(=テーブル)単位で ユニークにするのではなく、スキーマ単位,あるいはもっと上位のレベルでユニークに するようにします。 列名は「変数名(プロパティ名)」ではなく、「型名」だと思うようにします。 つまり、同じ列名を持っているものは、みな同じ性質を持っていて、かつ、他のテーブルで 同名の列名がある場合には、その列との結合が可能であるように設計します。
しかし例えば同じ型(?)の列が必要な場合もあるので、そのあたりは臨機応変に。 例)自分の性別と恋愛対象の性別を、同一のテーブルに定義する場合とか。
12.
ご清聴ありがとうございました。
Download