Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
tsudaa
4,851 views
ドメイン名の話 (データベース/SQL)
データベースのドメイン名の話
Read more
1
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 12
2
/ 12
3
/ 12
4
/ 12
5
/ 12
6
/ 12
7
/ 12
8
/ 12
9
/ 12
10
/ 12
11
/ 12
12
/ 12
More Related Content
PDF
怖くないSpring Bootのオートコンフィグレーション
by
土岐 孝平
PPTX
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
by
Miki Shimogai
PDF
ドメイン駆動設計の正しい歩き方
by
増田 亨
PDF
イミュータブルデータモデル(入門編)
by
Yoshitaka Kawashima
PDF
ドメイン駆動設計 本格入門
by
増田 亨
PDF
オブジェクト指向プログラミングのためのモデリング入門
by
増田 亨
PDF
ドメイン駆動設計という仕事の流儀
by
増田 亨
PDF
なぜデータモデリングが重要なのか?
by
Yoshitaka Kawashima
怖くないSpring Bootのオートコンフィグレーション
by
土岐 孝平
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
by
Miki Shimogai
ドメイン駆動設計の正しい歩き方
by
増田 亨
イミュータブルデータモデル(入門編)
by
Yoshitaka Kawashima
ドメイン駆動設計 本格入門
by
増田 亨
オブジェクト指向プログラミングのためのモデリング入門
by
増田 亨
ドメイン駆動設計という仕事の流儀
by
増田 亨
なぜデータモデリングが重要なのか?
by
Yoshitaka Kawashima
What's hot
PDF
Json型の使い方
by
tsudaa
PPTX
C# 9.0 / .NET 5.0
by
信之 岩永
PDF
マイクロサービス 4つの分割アプローチ
by
増田 亨
PDF
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
by
Y Watanabe
PDF
Springを何となく使ってる人が抑えるべきポイント
by
土岐 孝平
PDF
リッチなドメインモデル 名前探し
by
増田 亨
PDF
マイクロにしすぎた結果がこれだよ!
by
mosa siru
PPTX
SQLチューニング入門 入門編
by
Miki Shimogai
PDF
今さら聞けないDiとspring
by
土岐 孝平
PDF
ドメイン駆動設計 ( DDD ) をやってみよう
by
増田 亨
PDF
アプリ開発者、DB 管理者視点での Cloud Spanner 活用方法 | 第 10 回 Google Cloud INSIDE Games & App...
by
Google Cloud Platform - Japan
PDF
PostgreSQLアンチパターン
by
Soudai Sone
PDF
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
by
Takuto Wada
PPTX
フィーチャモデルの描き方
by
H Iseri
PDF
Form認証で学ぶSpring Security入門
by
Ryosuke Uchitate
PDF
Dockerからcontainerdへの移行
by
Kohei Tokunaga
PPTX
Spring boot 勉強会
by
太志郎 遠藤
PDF
オブジェクト指向プログラミングの現在・過去・未来
by
増田 亨
PDF
WebSocketのキホン
by
You_Kinjoh
PDF
ソフトウェア開発における『知の高速道路』
by
Yoshitaka Kawashima
Json型の使い方
by
tsudaa
C# 9.0 / .NET 5.0
by
信之 岩永
マイクロサービス 4つの分割アプローチ
by
増田 亨
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
by
Y Watanabe
Springを何となく使ってる人が抑えるべきポイント
by
土岐 孝平
リッチなドメインモデル 名前探し
by
増田 亨
マイクロにしすぎた結果がこれだよ!
by
mosa siru
SQLチューニング入門 入門編
by
Miki Shimogai
今さら聞けないDiとspring
by
土岐 孝平
ドメイン駆動設計 ( DDD ) をやってみよう
by
増田 亨
アプリ開発者、DB 管理者視点での Cloud Spanner 活用方法 | 第 10 回 Google Cloud INSIDE Games & App...
by
Google Cloud Platform - Japan
PostgreSQLアンチパターン
by
Soudai Sone
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
by
Takuto Wada
フィーチャモデルの描き方
by
H Iseri
Form認証で学ぶSpring Security入門
by
Ryosuke Uchitate
Dockerからcontainerdへの移行
by
Kohei Tokunaga
Spring boot 勉強会
by
太志郎 遠藤
オブジェクト指向プログラミングの現在・過去・未来
by
増田 亨
WebSocketのキホン
by
You_Kinjoh
ソフトウェア開発における『知の高速道路』
by
Yoshitaka Kawashima
More from tsudaa
PDF
ぬぎんくす問題
by
tsudaa
PDF
Windows でも時刻合わせがしたい!
by
tsudaa
PDF
Python と私の事情
by
tsudaa
PDF
真理とは何か
by
tsudaa
PDF
Excelのどうでもよいtipsの紹介
by
tsudaa
PDF
MySQL のユーザー定義変数と RDB のココロ
by
tsudaa
PDF
HiroshimaJUG の「Java8 Lambda ハンズオン with すごい広島」を5分で振り返る
by
tsudaa
PDF
スターマークの話
by
tsudaa
PDF
Powershell のセキュリティ (大都会ver)
by
tsudaa
PDF
昼の12時は午○何時?
by
tsudaa
PDF
PowerShell 紹介
by
tsudaa
PDF
全角チルダ問題
by
tsudaa
PPTX
資格は役に立つか
by
tsudaa
PDF
○○型言語と呼ばれるために備えるべき最低限の条件についての検討
by
tsudaa
PDF
文字数はおいくら?(Ruby版)
by
tsudaa
PDF
法律の読み方とか
by
tsudaa
PDF
C++入門?
by
tsudaa
ぬぎんくす問題
by
tsudaa
Windows でも時刻合わせがしたい!
by
tsudaa
Python と私の事情
by
tsudaa
真理とは何か
by
tsudaa
Excelのどうでもよいtipsの紹介
by
tsudaa
MySQL のユーザー定義変数と RDB のココロ
by
tsudaa
HiroshimaJUG の「Java8 Lambda ハンズオン with すごい広島」を5分で振り返る
by
tsudaa
スターマークの話
by
tsudaa
Powershell のセキュリティ (大都会ver)
by
tsudaa
昼の12時は午○何時?
by
tsudaa
PowerShell 紹介
by
tsudaa
全角チルダ問題
by
tsudaa
資格は役に立つか
by
tsudaa
○○型言語と呼ばれるために備えるべき最低限の条件についての検討
by
tsudaa
文字数はおいくら?(Ruby版)
by
tsudaa
法律の読み方とか
by
tsudaa
C++入門?
by
tsudaa
ドメイン名の話 (データベース/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